Can I add a channel to a specific conda environment?
As of conda 4.2, environment-specific .condarc
files are supported and you can write:
conda config --env --add channels glotzer
to add the channel to the configuration for the active environment.
[Not sure whether --env
flag was added in 4.2. Answer based on conda 4.5.9]
Update
As of Jan 2017, it was not possible to add a channel to a single conda environment. As of Dec 2020, this is now possible as described in Christopher Barber's answer.
Alternative
If you instead want to install a package from a specific channel but do not want to add that channel to the global ~/.condarc
file, you should use the option to install a package from a specific channel:
conda install <some-package> -c glotzer
You can create an environment.yml
file containing the specification of your conda
environment. The full docs are here, but the basic setup is as follows:
name: EnvironmentName
channels:
- conda-forge
- glotzer
dependencies:
- pip:
- tensorflow
- pandas=0.22.*
To use the environment, type
conda env create -f environment.yml
conda activate EnvironmentName
To update the environment when environment.yml
is changed or packages are updated,
conda env update -f environment.yml
conda activate EnvironmentName
You can create a new environment with a specific channel:
conda create -n EnvironmentName -c ChannelName