Python is an Open Source, interpreted high-level programming language which is popular for prototyping high end simulations and data science applications. In addition to a large standard library there are many thirdparty libraries available (e.g. Numpy, Scipy). However, it is a single threaded environment and therefore may not be most suitable for very large simulations.
Python and its most commonly used libraries (NumPy, SciPy, Matplotlib) are usually available as a module. Please notice that an older version may be set as default. If the version you need is not available, you can install it in your directory by using 'pip' or 'easy_install'. You might also want to consider using a GCC compiler as Python software with it. This should be done before adding any Py-Modules.
Examples (RWTH CLAIX):
$ module switch intel gcc $ export MYPY=$HOME/SomeDirForPythonInstall $ export PYTHONPATH=$PYTHONPATH:$MYPY/lib/python2.7/site-packages $ mkdir -p $MYPY/lib/python2.7/site-packages $ easy_install --prefix $MYPY theano
Note: you need to set PYTHONPATH anytime you wish to use 'teano' Py-module!
$ module switch intel gcc $ pip install --user theano
Note: the installation is in $HOME/.local/[bin|lib] directories. Beware of clash if using multiple Py-modules!
Pip is a package management system for Python and is automatically included since Python 2.7.9/3.4. It enables managing lists of packages and their versions
Getting the list of the installed packages:
$ pip list
Pip can also list the packages with outdated versions or available prereleases:
$ pip list --outdated $ pip list --pre
Packages can easily be installed through the pip install command:
$ pip install my-package
The same goes for uninstalling packages:
$ pip uninstall my-package
The present packages can be stored as a 'requirements' file. If properly formatted, this file can then be used to recreate the given environment on another system with exactly the same packages and versions:
$ pip install -r requirements.txt
As there are plenty of python tutorials available online we decided not to create our very own but instead simply list a few we consider to be most helpful.