====== 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]]