Installing personalized Python modules

On Shaheen you will find several python flavors, namely, inteppython3, python/3.8.0, and cray-python. All these come with most of the popular non-standard python packages installed in addition to the core packages.

If however, you see any module missing, you can install in your allocated space on shared filesystem and update runtime environment for the installed newly python package.

Installation using pip package manager

On Shaheen, we recommend you install in your project directory /project/your-project-id/your-user-id/software. On Ibex you may install these packages in /scratch/your-user-id/software.

Most Python packages come with a pip installation recipe, i.e. they are hosted on popular Pypi channel or elsewhere, eg. GitHub etc. Here is how you may install and point to the desired installation directory. For the example below I am using intelpython3 as my base python and installing e.g. tensorboard, a popular web application for monitoring performance metrics of a deep learning training job.

module load intelpython3 pip install --prefix=/project/your-project-id/your-user-id/software tensorboard==2.5.0

The above will install tensorboard package in my project directory e.g. /project/k01/shaima0d/software/lib/python3.7/site-pacakges, where k01 is my project ID and shaima0d is my User ID respective (you should use your own).

Using the installed package

You can inform the python in your environment to search for python packages to an additional path including the preset default paths by setting an environment variable PYTHONPATH. Precedence applies.

export PYTHONPATH=/project/your-project-id/your-user-id/software/lib/python3.7/site-pacakges:$PYTHONPATH

The above line must be exported before invoking python either interactively or as a batch script in your jobscripts, e.g. (on Shaheen)

#!/bin/bash #SBATCH --time=01:00:00 #SBATCH --nodes=1 #SBATCH --hint=nomultithread module load intelpython3 export PYTHONPATH=/project/k01/shaima0d/software/lib/python3.7/site-pacakges:$PYTHONPATH python train.py

 

If there are warnings or error of not having right permissions to upgrade a dependency package, contact us and our applications team will assist you with installation.