6.6. Python

Pythonの概要#

本サービスにおいて標準で利用可能なPythonの情報を記述します。本サービスでは以下のバージョンのPythonを使用可能です。

$ python3.6 --version
Python 3.6.8

x86システムおよびGPUシステムでは、Environment Modulesによる環境設定でPython 3.9.19を使用可能です。

利用方法#

システムにインストールされたPython実行環境に対して、利用者が変更を加えることはできません。その代わりに、利用者は独自に作成したPython仮想環境やローカルディレクトリに必要なモジュールを追加して利用することができます。以下では、それらの利用方法を説明します。

  • venvの利用方法

    Pythonのvenvモジュールを使用することで、仮想環境として、システムとは別のsiteディレクトリを作成することができます。それぞれの仮想環境には、固有の(仮想環境を作成するのに使ったバイナリのバージョンと同一の)Pythonバイナリがあり、 仮想環境ごとのsiteディレクトリに独立したPythonパッケージ群をインストールできます。

    仮想環境の利用例を以下に示します。

$ python3.6 -m venv work-3.6       # work-3.6という名前の仮想環境を作成
$ source work-3.6/bin/activate     # 仮想環境の有効化
(work-3.6) $ pip3 install numpy    # 仮想環境へnumpyをインストール
(work-3.6) $ deactivate            # 仮想環境の無効化
  • ローカルディレクトリにモジュールをインストールして使用する方法

    仮想環境を使わずに、利用者アカウントのローカルディレクトリにインストールしたモジュール群を使用することも可能です。

    pip3コマンドの-tオプションでモジュールのインストール先に利用者アカウントのローカルディレクトリを指定します。

$ pip3 install numpy -t ${HOME}/pythonlib

これらのモジュールを使用する際には、環境変数PYTHONPATHにモジュールをインストールしたローカルディレクトリのパスを追加します。

$ export PYTHONPATH=${HOME}/pythonlib:$PYTHONPATH

Spackを用いたPythonのインストール#

ユーザー領域へのSpackを用いたPythonのインストール方法を、Python v3.9.12のインストールを事例に説明します。

  • ユーザー領域にSpackの環境を構築

    ユーザー領域へのSpackの環境構築方法は、6.3.2. Spackの環境構築方法を参照ください。

  • ログインノード上で、以下のコマンドを実行し、インストールに必要なファイルを事前にダウンロードします

$ SPACKDIR=${HOME}/spack-local
$ . ${SPACKDIR}/spack-0.18.0/share/spack/setup-env.sh
$ spack mirror create -d ${SPACK_ROOT}/spack-mirror -D python@3.9.12
  • x86,gpuシステム向けの構築ではログインノード上でインストールを実施します。
$ spack install python@3.9.12
  • Armシステム向けの構築では、Arm計算ノード上でインストールを実施します。

    以下のJOBスクリプトを用意し、Arm計算ノードに投入します。

$ cat spack_install_python_arm.sh
#!/bin/sh -xe
#PJM -L "rscunit=rscunit_ft01"
#PJM -L "rscgrp=arm-small"
#PJM -L "node=1"
#PJM -L "elapse=3:00:00"
#PJM -j

SPACKDIR=${HOME}/spack-local
. ${SPACKDIR}/spack-0.18.0/share/spack/setup-env.sh

spack install python@3.9.12

$ pjsub ./spack_install_python_arm.sh