Conda
For help on creating and managing personal environments whether for command-tool use or python package use in SLURM jobs or Jupyter kernels see Managing Python environments and Jupyter kernels
Description
Conda is an open-source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs, and updates packages and their dependencies. Conda easily creates, saves, loads, and switches between environments. Separating applications in separate conda environments allows installation of incompatible dependencies - python2 and python3 for example.
Notes:
- For a faster conda see Mamba.
- Do not use the 'Anaconda Distribution' to install conda/mamba. Use an open source MiniForge installer or, better yet, our 'conda' environment module and open source repositories such as conda-forge and bioconda. We provide a 'known good' ~/.condarc configuration script that gets installed on the first 'module load conda' run.
Environment Modules
Run module spider conda
to find out what environment modules are available for this application.
System Variables
- HPC_CONDA_DIR - installation directory
- HPC_CONDA_BIN - executable directory
Background
Many projects that use Python code require careful management of the respective Python environments. Rapid changes in package dependencies, package version conflicts, deprecation of APIs (function calls) by individual projects, and obsolescence of system drivers and libraries make it virtually impossible to use an arbitrary set of packages or create one all-encompassing environment that will serve everyone's needs over long periods of time. The high velocity of changes in the popular ML/DL frameworks and packages and GPU computing exacerbates the problem.
The problem with pip install
Expand this section to view pip problems and how conda/mamba mends them.
Configuration
Expand this section to view instructions for configuring Conda
Create and activate a Conda environment
Expand this section to view instructions for setting up environments.
Export or import an environment
Expand this section to view instructions.
Group environments
It is possible to create a shared environment accessed by a group on HiPerGator, storing the environment in, for example, /blue/group/share/conda
. In general, this works best if only one user has write access to the environment. All installs should be made by that one user and should be communicated with the other users in the group. It is recommended that user's umask configuration is set to group friendly permissions, such as umask 007. See Sharing Within A Cluster.
__NOTOC__