🛠️
XREAで、Pythonの仮想環境すら作れない場合の手順
注意
- この記事の更新日時にご注意ください。
古い記事の可能性があります。 - 筆者がインフラエンジニアでないため、無意味な処理も含まれるかもしれません。
ssh接続をする
ssh接続すらできない、という人はサーバー側の設定をしてから、5分ほど待って接続しようとするとできます。
サーバー側の設定は以下の記事を参考に設定してみてください。
参考
cd
すらできない
標準で制限付きのrbashというものになっているようです。
cd
で、作業ディレクトリさえも作れません。
その場合は以下のコマンドを実行します。
$ bash
何も返事をしてくれないですが、bashになってくれました。
これで、cd
とかアレコレできます。
参考
プロジェクトのフォルダを作る
プロジェクトのフォルダを作ります。
好きなところに作ってもらって大丈夫だと思います。
分からない人は、同じのを書けば同じ結果になるはずです。
# homeに移動する
$ cd ~
# 自分が作るアプリケーションのプロジェクトを
# 保存するディレクトリを作成する
$ mkdir projects
$ cd projects
$ mkdir myapp
# 一旦権限を編集する
$ cd ~
$ chmod -R 777 projects
# プロジェクトのディレクトリに戻る
$ cd projects/myapp/
こんな階層になりました
~ /
└ projects/
└ myapp/
仮想環境を作る
Pythonの仮想環境を作ります。
ここで、python3 -m venv venv
としても、途中でコケてしまいます。
$ python3 -m venv venv
Error: Command '['/virtual/unipyfox/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 2.
pythonは正常に動いています。
仮想環境は最初にsetuptools
、pip
を含めて構築しようとしますが、そこでコケるようです。
なので、それらも抜きのpythonのみの仮想環境を作ります。
# 仮想環境を作る
$ python3 -m venv --without-pip venv
# 一旦権限を編集する
$ cd ../
$ chmod -R 777 myapp
$ cd myapp
# 仮想環境を有効化する
$ source ./venv/bin/activate
(venv) $
仮想環境にpipを導入する
pythonのバージョンを確認します。
私の環境では3.6.8が入っていました。
(venv) $ python3 --version
Python 3.6.8
get-pip.pyの対応したバージョンを手に入れましょう。
リンクを右クリックして「名前を付けてリンク先を保存」をします。
(下のリンクは3.6.x用です)
get-pip.py
が手に入ると思います。
それを、FTPで転送します。
FileZillaでも、WinSCPでもお好きな方法で。
私は、~/projects
に保存することにしました。
~ /
└ projects/
├ myapp/
│ └ venv/
│ └ (省略)
└ get-pip.py
そのファイルをPythonで実行してあげましょう。
(venv) $ cd ~/projects/
(venv) $ python get-pip.py
Collecting pip<22.0
Downloading pip-21.3.1-py3-none-any.whl (1.7 MB)
|????????????????????????????????| 1.7 MB 3.2 MB/s
Collecting setuptools
Downloading setuptools-59.6.0-py3-none-any.whl (952 kB)
|????????????????????????????????| 952 kB 99.2 MB/s
Collecting wheel
Downloading wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel, setuptools, pip
Successfully installed pip-21.3.1 setuptools-59.6.0 wheel-0.37.1
pip
、setuptools
、wheel
が無事に手に入りました。
よかったね。
おまけ
仮想環境を抜け出すには以下のコマンドを使います。
(venv) $ deactivate
$
Discussion