====== Anaconda on Caviness ======
$ vpkg_versions anaconda
Available versions in package (* = default version):
[/opt/shared/valet/2.1/etc/anaconda.vpkg_yaml]
anaconda Open Enterprise Python
* 5.2.0:python2 Anaconda Python2
5.2.0:python3 Anaconda Python3
See [[software:anaconda:caviness#Recipes|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 Caviness 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 Python 3, specify a path in your home (''$HOME'') or workgroup (''$WORKDIR'') directory not in the system path for Anaconda, and also ignore the warnings to update ''conda'' as it is building your virtual environment.
See the example below which creates a virtual Anaconda environment based on Python 3 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 the ''devel'' partition to verify the new ''fenicsproject'' Anaconda environment is working properly.
[traine@login00 ~]$ vpkg_devrequire anaconda/5.2.0:python3
Adding package `anaconda/5.2.0:python3` to your environment
[traine@login00 ~]$ 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@login00 ~]$ workgroup -g it_css
[(it_css:traine)@login00 ~]$ salloc --partition=devel
salloc: Pending job allocation 5434421
salloc: job 5434421 queued and waiting for resources
salloc: job 5434421 has been allocated resources
salloc: Granted job allocation 5434421
salloc: Waiting for resource configuration
salloc: Nodes r00n56 are ready for job
[traine@r00n56 ~]$ vpkg_devrequire anaconda/5.2.0:python3
Adding package `anaconda/5.2.0:python3` to your environment
[traine@r00n56 ~]$ source activate ~/fenicsproject
(/home/1201/fenicsproject) [traine@r00n56 ~]$ python3 -c "import mshr"
(/home/1201/fenicsproject) [traine@r00n56 ~]$ source deactivate
[traine@r00n56 ~]$ exit
exit
salloc: Relinquishing job allocation 5434421
[(it_css:traine)@login00 ~]$
===== 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.
* [[technical:recipes:pyqt5-in-virtualenv|Building PyQt5 in a Python Virtual Environment]]
* [[technical:recipes:jupyter-notebook|Jupyter Notebook Python Virtual Environment]]
* [[technical:recipes:keras-in-virtualenv|Keras Python Virtual Environment]]
* Gurobi Python Virtual Environments
* [[software:gurobi:caviness#serial-or-threaded-python-environment|Gurobi Python Threaded and Serial]]
* [[software:gurobi:caviness#mpi-python-environment|Gurobi Python MPI]]
* [[technical:recipes:emcee-in-virtualenv|Python Virtualenv: emcee and pyKLIP]]
* [[technical:recipes:mpi4py-in-virtualenv|Python Virtual Environments with mpi4py]]
* [[technical:recipes:tensorflow-in-virtualenv|TensorFlow Python Virtual Environment]]