Scinet-conda

From SciNet Users Documentation
Revision as of 16:23, 12 November 2021 by Ejspence (talk | contribs)
Jump to navigation Jump to search

The scinet-conda wrapper is an EXPERIMENTAL package created to address Anaconda's feature of creating zillions of files upon installation, which is not good for HPC file systems. It creates a virtual environment-like interface to Anaconda installed in a Singularity container, thus eliminating the problem of have numerous small files.

How to use scinet-conda

Activating scinet-conda

By default scinet-conda is not available. It can be put into your environment using the command

 $ source /scinet/conda/etc/profile.d/scinet-conda.sh

This command must be invoked at the beginning of each session to make the necessary commands available.

Managing conda environments

You can now create conda environments using a similar syntax to regular Anaconda:

 $ scinet-conda create -n myvenv python==3.7

Note that you must specify the Python version that you want. This will create an Singularity, container which contains Anaconda, in your $HOME directory.

To list the existing scinet-conda environment use the command

 $ scinet-conda env list
 myvenv
 $

To delete an existing scinet-conda environment you can use the command

 $ scinet-conda env remove -n myvenv

Activating your scinet-conda environment

To activate a scinet-conda environment, use the command:

 $ scinet-conda activate myvenv
 (myvenv)$

This environment can now be used in the same way as a regular virtual environment. Similarly, the environment can be deactivated thus

 (myvenv)$ scinet-conda deactivate
 $

Installing packages

Once the environment has been activated conda packages can be installed in your scinet-conda environment in the same manner as a regular conda environment.

 (myvenv)$ scinet-conda install six

To install a package from a specific channel, specify the channel in the usual way.

 (myvenv)$ scinet-conda install --channel dglteam dgl


If you need to install a package that is not available through conda channels you can always use pip

 (myvenv)$ scinet-conda pip install nose

Accessing the Singularity container

For some packages you need access to the internal environment of the Singularity container itself. This is access using the 'shell' command

 (myvenv)$ scinet-conda shell