コンテンツにスキップ

Python

利用できるPythonのバージョン

ABCIシステムではPythonを利用可能です。

利用できるPythonのバージョンはmoduleコマンドで確認できます。

[username@es1 ~]$ module avail python

------------------ /apps/modules/modulefiles/centos7/devtools ------------------
python/2.7/2.7.18  python/3.10/3.10.4 python/3.7/3.7.13  python/3.8/3.8.13

以下のように利用環境を設定することで利用可能になります。

例) Python 2.7.18を利用する場合:

[username@es1 ~]$ module load python/2.7/2.7.18
[username@es1 ~]$ python --version
Python 2.7.18

例) Python 3.10.4を利用する場合:

計算ノード(V)環境でPython 3.7以上を利用する場合、gcc/9.3.0またはgcc/11.2.0モジュールをpythonモジュールより先にロードしてください。

[username@es1 ~]$ module load gcc/11.2.0
[username@es1 ~]$ module load python/3.10/3.10.4
[username@es1 ~]$ python3 --version
Python 3.10.4

なお、計算ノード(A)環境の場合、gccモジュールのロードは不要です。

[username@es-a1 ~]$ module load python/3.10/3.10.4
[username@es-a1 ~]$ python3 --version
Python 3.10.4

Note

pyenvやcondaなどのPythonディストリビューションを利用者のホーム領域やグループ領域にインストールすることも可能です。この場合はサポート範囲外となりますのでご了承ください。

Python仮想環境

ABCIではシステム全体で使うPython実行環境に利用者が変更を加えることはできません。その代わりに、利用者はPython仮想環境を使って必要なモジュールを追加して利用することができます。

ABCIが提供するvirtualenvvenvを使って、軽量な仮想環境を作ることできます。 このPython仮想環境には、仮想環境ごとのsiteディレクトリがあり、これはシステムのsiteディレクトリから分離させることができます。 それぞれの仮想環境には、固有の (仮想環境を作成するのに使ったバイナリのバージョンと同一の) Pythonバイナリがあり、 仮想環境ごとのsiteディレクトリに独立したPythonパッケージ群をインストールできます。

仮想環境を構築するには、Python 2系ではvirtualenv、Python 3系ではvenvモジュールをそれぞれ利用します。

Note

計算ノード(V)と計算ノード(A)ではOSおよびソフトウェア構成が異なるため、Python仮想環境に互換性はありません。
そのため、計算ノード(V)で使用する仮想環境は計算ノード(V)(またはインタラクティブノード(es))で、計算ノード(A)で使用する環境は計算ノード(A)(またはインタラクティブノード(es-a))で構築する必要があります。

virtualenv

virtualenvの使用例を以下に示します。

例) 仮想環境の作成

[username@es1 ~]$ module load python/2.7/2.7.18
[username@es1 ~]$ virtualenv env1
created virtual environment CPython2.7.18.final.0-64 in 1862ms
  creator CPython2Posix(dest=/home/username/env1, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, wheel=bundle, setuptools=bundle, via=copy, app_data_dir=/home/username/.local/share/virtualenv)
    added seed packages: pip==20.3.4, setuptools==44.1.1, wheel==0.37.0
  activators PythonActivator,CShellActivator,FishActivator,PowerShellActivator,BashActivator

例) 仮想環境の有効化

[username@es1 ~]$ source env1/bin/activate
(env1) [username@es1 ~]$
(env1) [username@es1 ~]$ which python
~/env1/bin/python
(env1) [username@es1 ~]$ which pip
~/env1/bin/pip

例) 仮想環境へnumpyをインストール

(env1) [username@es1 ~]$ pip install numpy

例) 仮想環境の無効化

(env1) [username@es1 ~]$ deactivate
[username@es1 ~]$

venv

venvモジュールの使用例を以下に示します。

例) 仮想環境の作成

[username@es1 ~]$ module load gcc/11.2.0 python/3.10/3.10.4
[username@es1 ~]$ python3 -m venv work

例) 仮想環境の有効化

[username@es1 ~]$ source work/bin/activate
(work) [username@es1 ~]$ which python3
~/work/bin/python3
(work) [username@es1 ~]$ which pip3
~/work/bin/pip3

例) 仮想環境へnumpyをインストール

(work) [username@es1 ~]$ pip3 install numpy

例) 仮想環境の無効化

(work) [username@es1 ~]$ deactivate
[username@es1 ~]$

pip

pipはPythonのパッケージ管理ツールです。 利用者は、pipコマンドを用いることで容易にPythonソフトウェアのリポジトリthe Python Pakcage Index (PyPI)からPythonパッケージをインストールできます。

$ pip <sub-command> [options]
サブコマンド 説明
install package パッケージをインストールする。
update package パッケージをアップデートする。
uninstall package パッケージをアンインストールする。
search package パッケージを検索する。
list インストール済みパッケージを表示する。