Python is an interpreted, interactive, object-oriented programming language and was first published in 1991. Python design philosophy emphasized on readability of the code and easy-to-use syntax. The programming language comes with a standard library along with an extensive list of third-party packages, and is in part responsible for its popularity. On Frontenac cluster, python is available as a module. You can load the default version of the Python using module load command.
$ module load python
Often you are required to load a specific version of python. Use the following command to load a specific version of python, say 3.7.4:
$ module load python/3.7.4
All the available version of python on Frontenac cluster can be list using ‘module avail’ command, this list will include both python/2.x and /3.x versions.
$ module avail python
Some commonly used python packages are available through scipy-stack environment modules. This includes: Numpy, Scipy, Matplotlib,IPython, pandas, Sympy and nose. Similar to the python modules, different versions of the Scipy modules are available. The latest version of the Scipy-stack(scipy-stack/2019a) can be loaded with the following command:
$ module load scipy-stack
Installation of python packages using virtualenv
Often, you might require additional packages other than the ones available in scipy-stack. Given the diverse user requirements, it is not practical to install all the necessary packages in a central stack. Python modules on our cluster comes with a virtualenv tool to install and manage packages necessary for your project. Typically, we recommend creating virtual environment in your $HOME directory. ALternatively, you can also install it in $PROJECT directory to make it available for other members of your group. As an example, the following steps shows the installation of biopython package in your $HOME/.local directory using virtualenv.