|
|
| (42 intermediate revisions by 6 users not shown) |
| Line 1: |
Line 1: |
| =Python Virtual Environments=
| | Python virtual environments are documented on the Alliance wiki: |
| | https://docs.alliancecan.ca/wiki/Python#Creating_and_using_a_virtual_environment |
|
| |
|
| 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 thee default python environment.
| | That page covers the current modules and job examples for Trillium. For |
| | | SciNet-specific access, see [[Trillium Quickstart]]. |
| VirtualEnv can be used either with the default python modules or the anaconda ones.
| |
| | |
| == Using Python VirtualEnv in Anaconda ==
| |
| | |
| VirtualEnv are right builtin in Anaconda, see [https://conda.io/docs/user-guide/tasks/manage-environments.html]
| |
| You will just need to load the proper anaconda module, eg.
| |
| | |
| <source lang="bash">
| |
| # load the anaconda module
| |
| module load python/3.6.4-anaconda5.1.0
| |
| | |
| # create a virtual env.
| |
| conda create -n test python=3.6
| |
| | |
| # activate your vitual env.
| |
| source activate test
| |
| | |
| # 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
| |
| | |
| </source>
| |
| | |
| == Using Python Virtualenv in plain Python ==
| |
| | |
| First load a python module:
| |
| | |
| <source lang="bash">
| |
| module load intel/13.1.1 python/2.7.5
| |
| </source>
| |
| | |
| Then install virtualenv:
| |
| | |
| <source lang="bash">
| |
| pip install virtualenv --user
| |
| </source>
| |
| | |
| Then create a directory for the virtual environments. One can put an virtual environment anywhere, but this directory structure is recommended:
| |
| | |
| <source lang="bash">
| |
| mkdir ~/.virtualenvs
| |
| cd ~/.virtualenvs
| |
| </source>
| |
| | |
| Now we create our first virtualenv called ''myenv'' choose any name you like:
| |
| | |
| <source lang="bash">
| |
| ~/.local/bin/virtualenv myenv
| |
| </source>
| |
| | |
| After that we can activate that virtual environment:
| |
| | |
| <source lang="bash">
| |
| source ~/.virtualenvs/myenv/bin/activate
| |
| </source>
| |
| | |
| 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. Except ''scipy'' all of these install very simply in a virtualenv using the ''pip install <package name>''.
| |
| | |
| For installing ''scipy'' we first need to install ''numpy'' and then copy scinet's ''site.cfg'' (contains paths to the required libraries for scipy).
| |
| So before doing "pip install scipy" do
| |
| | |
| <source lang="bash">
| |
| cp /scinet/gpc/tools/Python/Python275-shared-intel/lib/python2.7/site-packages/numpy/distutils/site.cfg ~/.virtualenvs/myenv/lib/python2.7/site-packages/numpy/distutils/
| |
| </source>
| |
| | |
| and then just do ''pip install scipy''
| |
Python virtual environments are documented on the Alliance wiki:
https://docs.alliancecan.ca/wiki/Python#Creating_and_using_a_virtual_environment
That page covers the current modules and job examples for Trillium. For
SciNet-specific access, see Trillium Quickstart.