シン・レンタルサーバーでPythonの仮想環境を作成してpipを使う

Python,レンタルサーバーchat_bubble0

当サイトが利用しているシン・レンタルサーバーは2022年10月時点で Python 2.7.5、3.4.10、3.6.8 が使用可能となっていますが、レンタルサーバー故に権限の問題からそのままではpipは使用できません。pip3コマンドはありますが、残念ながらinstall等では以下のような結果になります。

PermissionError: [Errno 13] 許可がありません: '/etc'

--userオプションを付けても結果は変わりませんでした。

そこで、Pythonの仮想環境を作成し、get-pip.pyでpipをインストールすることにしました。AnacondaやMinicondaでも良いとは思いますが、今回は目的がpipを使用可能な状態にすることのみなのでそれらのインストールはしません。

まずSSHで接続する必要があります。
SSHでの接続に関してはマニュアルを確認してください。

2022年10月時点で、シン・レンタルサーバーでのPythonのコマンドは以下のようになっています。

  • python で 2.7.5
  • python3 で 3.6.8
  • python3.4 で 3.4.10
  • python3.6 で 3.6.8

今回はpython3のコマンドを使用して3.6.8の仮想環境を作成します。

SSHで接続したら以下のようにしてPythonの仮想環境を作成します。

python3 -m venv --without-pip myvenv

シン・レンタルサーバーの場合、--without-pip オプションが無いとエラーが出るのでこのオプションは必ず入れるようにしてください。myvenvの部分は仮想環境の名前です。好きな名前で構いません。

仮想環境が作成出来たら以下のようにして有効にします。

source myvenv/bin/activate

次にget-pip.pyをダウンロード/インストールします。

wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
python get-pip.py

※仮想環境が有効な状態なので、pythonコマンドでは2.7.5ではなく3.6.8が実行されます。

これで仮想環境でpipが使用出来るようになります。install等でPermissionErrorが出ることはありません。また、deactivateで一度仮想環境を抜けてから再度仮想環境を有効にすると、仮想環境内ではpipとpip3のコマンドは同じ物を指すようになります。

get-pip.pyは何か理由が無い限り上記URLの物を使用してください。URLに3.6が入っていない物は要件がPython3.7以上となっているため、3.6.8で実行してもpipがインストール出来ません。

他のバージョン向けの物が必要な場合は以下を確認してください。
https://bootstrap.pypa.io/pip/

get-pip.pyは他の仮想環境も用意する場合は残しておくと良いと思います。
もう使用しない場合は以下のようにして削除します。

rm get-pip.py

余談ですが、シン・レンタルサーバーにてcronやCGIで仮想環境のPythonを扱う場合は以下のようなパスを使用します。

/home/サーバーID/仮想環境名/bin/python

藤乃音りょう