Installing your own Python Modules

From SciNet Users Documentation
Revision as of 21:56, 10 May 2019 by Rzon (talk | contribs) (Rzon moved page PythonVirtualEnv to Installing your own Python Modules: Page is unlikely to be found by people that do nor know that they need a python virtual env)
Jump to navigation Jump to search

Python Virtual Environments

Virtual environments (short virtualenv) are a standard in Python to create isolated Python environments. This is useful when certain modules or certain versions of modules are not available in the default python environment.

VirtualEnv can be used either with the default python modules or the anaconda ones.

Using Python VirtualEnv in Anaconda

VirtualEnv are right built-in in Anaconda, see [1] You just need to load the proper anaconda module, eg.

 # load the anaconda module
 module load python/3.6.4-anaconda5.1.0

 # create a virtual env.
 conda create -n myPythonEnv python=3.6

 # activate your vitual env.
 source activate myPythonEnv

 # at this point you are in your own environment and can just do the installation of any package that you need, eg.
 pip install myFAVpackage

Using Python Virtualenv in plain Python

First load a python module:

module load python/2.7.14

Then create a directory for the virtual environments. One can put an virtual environment anywhere, but this directory structure is recommended:

mkdir ~/.virtualenvs
cd ~/.virtualenvs

Now we create our first virtualenv called myEnv choose any name you like:

virtualenv --system-site-packages myEnv

The "--system-site-packages" flag will use the system-installed versions of packages rather than installing them anew. This will result in fewer files created in your virtual environment. After that you can activate that virtual environment:

source ~/.virtualenvs/myenv/bin/activate

To go back to the normal python installation simply type deactivate. As you are in the virtualenv now you can just type pip install <required module> to install any module in your virtual environment.


Installing the Scientific Python Suite

For many scientific codes the packages numpy, scipy, matplotlib, pandas and ipython are used. All of these install very simply in a virtualenv using the pip install <package name>.