横田研で推奨しているPython環境構築
横田研鯖缶です。
横田研の人はTSUBAMEやABCI、富岳、Summitなど、多くのスパコンを使います。
ここではどのスパコンでもだいたい使えるPythonの環境構築の仕方を書いていきます。
思考停止でできるpyenv & Pythonインストール
1. pyenvのインストール
curl https://pyenv.run | bash
( https://github.com/pyenv/pyenv-installer )
これによって以下のリポジトリがインストールされます:
- https://github.com/pyenv/pyenv.git
- https://github.com/pyenv/pyenv-doctor.git
- https://github.com/pyenv/pyenv-installer.git
- https://github.com/pyenv/pyenv-update.git
- https://github.com/pyenv/pyenv-virtualenv.git
- https://github.com/pyenv/pyenv-which-ext.git
2. 環境変数の設定
以下を.zshrc
とか.bashrc
に追記
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)"
3. pyenvの環境変数等の反映
今設定したpyenvの環境変数等を以下のどれかの方法で反映させる。
. ~/.zshrc
とか
. ~/.bashrc
とか。
一度exitしてsshし直すとかでもいいです。
4. Pythonのインストール
pyenvコマンドで好きなバージョンのPythonをインストール
pyenv install 3.8.5
どんなバージョンがインストール可能かを見たければ以下のコマンドを実行。
pyenv install --list
5. インストールしたPythonがデフォルトで使われるようにする
pyenv global 3.8.5
原則
- ホームディレクトリ下など、自分で全てをコントロールできる場所にインストールする
- システムのPythonは使わない
- スパコンセンターが用意したPythonは使わない
- 僕もひなどりクラスタのパッケージ管理をしていますが、大体管理者が入れるパッケージはけしからんので、信じられるのは自分のみという気持ちでPythonに限らず全て自分で入れるのがいいでしょう。
補足
たまに$HOME
は計算ノードから見られないスパコンがあります。
こういう場合はpyenvを計算ノードから見られるストレージに置く必要があります。
たとえばこれを/path/to/work
とすれば、
mv $HOME/.pyenv /path/to/work
とし、PYENV_ROOT
を
export PYENV_ROOT="/path/to/work/.pyenv"
と設定します。
遭遇したことがあるエラー・不具合
Pythonのインストールが刺さる
loadしているmoduleが悪さをしている可能性があります。
module purge
してみましょう。
Written on June 23, 2021