In this document, we will outline how to create and modify conda environments, as well as how to install python packages on Andromeda.
1. Loading Miniconda
Andromeda provides a distribution of Miniconda 3. After starting an interactive session, you can see it with ‘module avail miniconda’ and load it with ‘module load miniconda.’
[johnchris@andromeda ~]$ interactive
Executing: srun --pty -N1 -n1 -c4 --mem=8g -pinteractive -t0-04:00:00 /bin/bash
Press any key to continue or ctrl+c to abort.
(press any key)
srun: job 585396 queued and waiting for resources
srun: job 585396 has been allocated resources
cpu-bind=MASK - c004, task 0 0 [946829]: mask 0x888800000000 set
[johnchris@c004 ~]$ module avail miniconda
------------------------- /m31/modulefiles/static -------------------------
miniconda/3
[johnchris@c004 ~]$ module load miniconda
[johnchris@c004 ~]$ module list
Currently Loaded Modules:
1) miniconda/3
[johnchris@c004 ~]$
2. Creating an environment
Once your shell is initialized, you can create a conda environment with ‘conda create -n env_conda python=3.12’. This will create a conda environment called env_conda, using python version 3.12. You can change the environment name and python version as needed. Activate the new environment with ‘conda activate env_conda’. Once your environment is activated, you can install packages and run scripts using the new environment.
[johnchris@c004 ~]$ conda create -n env_conda python=3.12
Retrieving notices: ...working... done
Channels:
- r
- bioconda
- conda-forge
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/johnchris/.conda/envs/env_conda
added / updated specs:
- python=3.12
…
Proceed ([y]/n)? y
Downloading and Extracting Packages:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate env_conda
#
# To deactivate an active environment, use
#
# $ conda deactivate
[johnchris@c004 ~]$ conda activate env_conda
(env_conda) [johnchris@c004 ~]$ python --version
Python 3.12.11
(env_conda) [johnchris@c004 ~]$ pip --version
pip 25.1.1 from /home/shibh/.conda/envs/env_conda/lib/python3.12/site-packages/pip (python 3.12)
(env_conda) [johnchris@c004 ~]$
3. Installing packages
You can install python packages in your conda environment with pip, as you would normally. For example, to install numpy, just run pip install numpy with your environment active. The package will be installed to your conda environment. You can also install other conda packages with ‘conda install (package name)’. For example, ‘conda install jupyter’ will install Jupyter to your conda environment.
4. Using conda environment in Slurm job
To use your conda environment in your slurm batch job, you will need to activate it in your script. For example,
#!/bin/bash
#SBATCH --job-name=job_test
#SBATCH --partition=short
#SBATCH --output=slurm_%x_%j.out
#SBATCH --error=slurm_%x_%j.err
#SBATCH --time=00:10:00
#SBATCH --ntasks=1
#SBATCH --mem-per-cpu=1gb
module load miniconda
conda activate env_name
cd (path to working directory)
python my_script.py
5. Miscellaneous conda usage
You can deactivate your conda environment with ‘conda deactivate’. Delete an environment with ‘conda remove -n env_name –all’ and view a list of all available conda environments with ‘conda info –envs’.