エックスサーバーでPython環境を作り直してNumPyを使う

エックスサーバーの共有サーバー環境では、

  • システムの Python に制限がある
  • pip が使えない
  • NumPy のインストールでエラーになる

といった問題が起きることがあります。

目次

前提条件

  • エックスサーバー(共有サーバー)
  • SSH接続が可能
  • python3 が利用できる
  • 作業ディレクトリは任意(以下では例として記載)
    /home/ユーザー名/ドメイン名/プロジェクト名

手順

1. プロジェクトディレクトリへ移動

既に存在しているプロジェクトディレクトリへ移動します。

cd /home/ユーザー名/ドメイン名/プロジェクト名

2. pip なしで仮想環境を作成

エックスサーバーでは、仮想環境作成時に pip が正常に入らないことがあるため、
–without-pip を指定して作成します。

python3 -m venv venv --without-pip

3. 仮想環境を有効化

source venv/bin/activate

プロンプトに (venv) が表示されれば有効化されています。

4. pip を手動でインストール

Python 3.6 用の get-pip.py をダウンロードします。

curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py

仮想環境の Python を指定して pip をインストールします。

/home/ユーザー名/ドメイン名/プロジェクト名/venv/bin/python get-pip.py

5. NumPy をインストール

/home/ユーザー名/ドメイン名/プロジェクト名/venv/bin/python -m pip install numpy

6. 不要ファイルの削除

rm get-pip.py

7. NumPy のインストール確認

以下のコマンドを実行し、エラーが出なければNumpy OKと表示され成功です。

/home/ユーザー名/ドメイン名/プロジェクト名/venv/bin/python -c "import numpy; print('Numpy OK')"

rsync –delete を使う場合、venv/ を –exclude しないとサーバー上の仮想環境が削除されるため注意。

まとめ

  • エックスサーバーでは 仮想環境を作り直し、pip を手動導入する方法が安定
  • NumPy も共有サーバー上で問題なく利用可能
  • システム Python を触らず、プロジェクト内で完結できる

コメント

コメントする

目次