Conda Environments#
Adding a conda environment to a container may be easily done using cotainr.
As an example, consider the following conda environment file, my_conda_env.yml:
my_conda_env.yml#
channels:
- conda-forge
dependencies:
- python=3.11.0
- numpy=1.23.5
A container based on the official Ubuntu 22.04 DockerHub image, containing this conda environment, may be built using:
$ cotainr build my_conda_env_container.sif --base-image=docker://ubuntu:22.04 --conda-env=my_conda_env.yml
The conda environment is automatically activated when the container is run, allowing for directly using the Python and NumPy versions installed in the conda environment, e.g.
$ singularity exec my_conda_env_container.sif python --version
Python 3.11.0
$ singularity exec my_conda_env_container.sif python -c "import numpy; print(numpy.__version__)"
1.23.5
Pip packages#
cotainr does not support creating a container directly from a pip requirements.txt file. However, pip packages may be included in a conda environment, e.g. updating my_conda_env.yml to
my_conda_env.yml#
channels:
- conda-forge
dependencies:
- python=3.11.0
- numpy=1.23.5
- pip:
- scipy==1.9.3
allows for installing SciPy via pip.