Python is a high level programming language that aims to combine remarkable power with very clear syntax. Its success in these areas has led to strong adoption by the scientific community, resulting in numerous math, physics, chemistry, and biology libraries being contributed from the community of users.


Software Updates and Version Consistency

MSI must make periodic updates to our existing Python installations in order to support the latest features available in the language, and for compatibility with other Python-supported software. In order to maintain a consistent Python environment, users are encouraged to use the conda tool available in the Anaconda Python distribution to clone the desired environment into their home directory. Environments cloned in this way will not be updated by MSI and are therefore suitable for use in applications that require a static Python environment. Instructions for cloning a Python environment can be found on MSI’s Anaconda Python software page.


MSI maintains installations of Python optimized for scientific and development use on all MSI computational resources. These include additional tools and libraries such as IPython, SciPy, NumPy, BioPython, Django, and many others. MSI supports the Enthought Python Distribution/Canopy and Continuum Analytics Anaconda Python as well as the PyPy alternative Python implementation.

To enable our default version of Python 2.7 (currently a version of the Enthought distribution), type

module load python

To enable our recommend version of Python 3 (currently a version of the Anaconda distribution), type

module load python3

Several other versions of Python are available, but the versions may be different on different platforms. To list all versions of Python available on the machine, type

module avail python

Assistance with Python programming is available by contacting

Python Usage

The following information applies to all supported versions of Python. Additional information relevant to a particular environment can be found at the following links:

In the examples below we use module load python. They will also work if you select a specific environment version (python3/3.4) or implementation (python-epd, python-pypy). Loading a module for Python will make that Python environment your default for all Python-related commands.

To run Python interactively in a Linux environment run the commands:

module load python

If you would like to run a Python script,, use the following command:

module load python

Programs can be submitted to a queue using PBS script such as the one below:

#PBS -l nodes=1:ppn=1,mem=1gb,walltime=4:00:00
#PBS -m abe
cd /location/of/the/script
module load python-epd

Installing Packages

Our recommended environments for Python 2.7 (module load python) and Python 3.4 (module load python3) include a wide variety of useful scientific, mathematical, and programming packages already installed. You can usually determine if a package is installed by attempting to import its module from Python:

module load python

> import somepackage

If this succeeds without printing an error, the package is installed and ready to use. Otherwise, in most cases we recommend that you use the provided tools to install a local copy of the package in your home directory.

The simplest way to accomplish this is to use pip to install from the Python Package Index. Once you have determined the PyPI name of the package you want, you can install or upgrade the package with the commands:

module load python
pip install --user --upgrade packagename

For more complex installations you may want to create a Python virtual environment in your home directory. The commands to do so are not the same across all Python environments. Please see the software documentation page for the environment you are using for instructions.

Support level: 
Access level: