6. Python使用方法

6.1. Pythonの利用について

本システムでは、下記のスクリプトを実行することでユーザーの環境に pyenv をインストールすること ができます。pyenvではpythonのバージョン管理が可能です。詳細は本章をご確認ください。

6.2. 前システムのpyenv環境の退避

前システムでpyenv環境を利用されていた方は、古いpyenv環境の退避が必要です。 下記のコマンドで古い環境を退避してください。

mv ~/.pyenv-super ~/.pyenv-super.old
mv ~/.pyenv-gpu ~/.pyenv-gpu.old

6.3. pyenv環境の構築

下記のコマンドを実行するとsuperおよびgpu上にpyenvがインストールされます。

bash /work/app/pyenv/pyenv-setup.bash

6.4. 環境変数の設定

pyenvの環境変数ファイルは/work/app/pyenv/bash_envに配置されています。 pyenv環境をデフォルトで読み込む場合は、下記のコマンドを実行してください。

echo "source /work/app/pyenv/bash_env" >> ~/.bash_profile

6.5. 動作確認

インストール後にフロントエンドノードから一度ログアウトし、再度ログイン後、下記のコマンドを実行します。

pyenv --version
pyenv 1.2.8-5-gec9fb549   ←バージョンは異なる場合があります。

6.6. 基本的な使い方

・Python のインストール

pyenv install --list    ← 利用可能なPythonのバージョンを表示
・・・・
pyenv install 3.7.8     ← Python 3.7.8 をインストールする場合

・Python のバージョン切り替え

pyenv versions      ← インストールされているバージョンの確認
* system (set by /home/userA/.pyenv/version)
3.7.8
pyenv global 3.7.8  ← Python 3.7.8 に切り替え
python --version

pyenv でインストールしたPythonでは、pipを用いてパッケージの追加も可能です。 より詳細な使用方法については、pyenvのドキュメント等をご確認ください。

Simple Python version management

6.7. 実行方法

負荷の高いPythonプログラムは、フロントエンドノードではなく計算ノード上で実行してください。

・インタラクティブモードでの実行例

userA@gpu2:~> qsub -I -q IP_001
qsub: waiting for job 70568.gpu1 to start
qsub: job 70568.gpu1 ready
-bash-4.2$ python
Python 3.7.8 (default, Mar 25 2021, 09:54:46)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more
information.
>>>

ジョブとして投入して実行することも可能です。

・ジョブスクリプト例

#!/bin/sh
#PBS -l select=1
#PBS -q CA_001
#PBS -N sample

cd $PBS_O_WORKDIR

python program.py