Table of Contents

Anaconda on Farber

$ vpkg_versions anaconda
 
Available versions in package (* = default version):
 
[/opt/shared/valet/2.0.1/etc/anaconda.vpkg_json]
anaconda   Open Enterprise Python
* 2.5.0    Anaconda 2.5.0 (Python 2.x, 64-bit)
           + python2
  2.5.0    Anaconda 2.5.0 (Python 3.x, 64-bit)
           + python3
  5.0.1    Anaconda 5.0.1 (Python 2.7, 64-bit)
           + python2
  5.0.1    Anaconda 5.0.1 (Python 3.6, 64-bit)
           + python3
  5.2.0    Anaconda 5.2.0 (Python 2.7, 64-bit)
           + python2
  5.2.0    Anaconda 5.2.0 (Python 3.6, 64-bit)
           + python3
  python2  alias to anaconda/2.5.0:python2
  python3  alias to anaconda/2.5.0:python3

See Recipes for examples of building virtual environments for specific packages.

Virtual Environment

If you are going to follow the instructions for creating an Anaconda virtual environment on Farber consider using a slight modification to the documentation provided by each software package and use VALET to load the proper version of Anaconda for Python 2 or Python3, also specify a path in your home directory not in the system path for Anaconda, and ignore the warnings to update conda while it is building your virtual environment.

See the example below which creates a virtual Anaconda environment based on Python3 for FEniCS called fenicsproject in the traine home directory and installs all the fenics packages and mshr. Once the environment is created, then a simple interactive test is done on a compute node via qlogin to verify the new fenicsproject Anaconda environment is working properly.

[traine@farber ~]$ vpkg_devrequire anaconda/5.2.0:python3
Adding package `anaconda/5.2.0:python3` to your environment
[traine@farber ~]$ conda create -p ~/fenicsproject -c conda-forge fenics fenics-dijitso fenics-dolfin fenics-ffc fenics-fiat fenics-libdolfin fenics-ufl mshr
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.5.11
  latest version: 4.8.1

Please update conda by running

    $ conda update -n base -c defaults conda


## Package Plan ##

  environment location: /home/1201/fenicsproject

  added / updated specs:
    - fenics
    - fenics-dijitso
    - fenics-dolfin
    - fenics-ffc
    - fenics-fiat
    - fenics-libdolfin
    - fenics-ufl
    - mshr


The following packages will be downloaded:

...
...
...
Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
...
...
...
#
# To activate this environment, use:
# > source activate /home/1201/fenicsproject
#
# To deactivate an active environment, use:
# > source deactivate
#

[traine@farber ~]$ workgroup -g it_css
[(it_css:traine)@farber ~]$ qlogin
$ qlogin
Your job 3985323 ("QLOGIN") has been submitted
waiting for interactive job to be scheduled ...
Your interactive job 3985323 has been successfully scheduled.
Establishing /opt/shared/univa/local/qlogin_ssh session to host n038 ...
[(it_css:traine)@n038 ~]$ vpkg_devrequire anaconda/5.2.0:python3
Adding package `anaconda/5.2.0:python3` to your environment
[(it_css:traine)@n038 ~]$ source activate ~/fenicsproject
(/home/1201/fenicsproject) [(it_css:traine)@n038 ~]$ python3 -c "import mshr"
(/home/1201/fenicsproject) [(it_css:traine)@n038 ~]$ source deactivate
[(it_css:traine)@n038 ~]$ exit
exit
Connection to n038 closed.
/opt/shared/univa/local/qlogin_ssh exited with exit code 0
[(it_css:traine)@farber ~]$

Recipes

Examples documented as recipes to be used for specific installations including using a workgroup directory as well as creating VALET packages for these environments and job scripts setup for batch runs, but can also perhaps help others in solving similar installation dilemmas.