Python on Odyssey
We like the Anaconda python distribution from Continuum Analytics. It includes hundreds of the most popular packages for large-scale data processing, predictive analytics, and scientific computing (numpy, scipy, ipython, pandas, scikit-learn, mpi4py, etc.; see below for the full list). It generally does a great job of including the latest versions of all the packages while maintaining compatibility between them all.
You can use Python and Anaconda on Odyssey by running:
$ module load python
Customizing the environment
Anaconda has a concept of environments; these are used to manage alternative package sets and versions. For example, if you want newer versions of some packages in the default environment, you can make a new environment with your customizations.
Load the base environment:
$ module load python/2.7.11-fasrc01
In this case, it's best to load a specific version (rather than simply
python) so that your custom environment remains consistent even after a newer version of python is available. To see the available versions, visit our Portal Module Lookup
Create a new environment; substitute
ody with whatever name you wish:
$ conda create -n ody --clone="$PYTHON_HOME"
This will create a directory
~/.conda/envs/ody. Use this environment by running the command:
$ source activate ody
If you want to use this environment all the time, add the above line to your
~/.bashrc (or other appropriate shell config file) after the line that loads the module.
At this point you can upgrade or install a package named
PACKAGE with the following command (it's the same whether installing or upgrading):
$ conda install PACKAGE
conda list and
conda show, which list installed and available packages, respectively. See the conda documentation for all the details. If the package is not available from conda, you can install it into your environment using pip:
$ pip install PACKAGE
Note: Anaconda generally has the lastest versions of all packages that are compatible. When you install an extra package, it'll often update core packages like numpy and scipy; other packages may then downgrade them back. This is why we recommend sticking to the default environment if possible.
If you have problems updating a package that is already installed in the Anaconda environment, you might need to remove the package first:
$ conda remove PACKAGE
$ conda install PACKAGE
This will often bypass update errors, especially with certain versions of
To stop using the custom environment, run:
$ source deactivate
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Permissions beyond the scope of this license may be available at Attribution.