我想将conda频道添加到特定的conda environment但是当我使用
时conda config --add channels glotzer
现在,我的所有conda环境都可以使用该频道。除了从其他环境测试安装之外,~/.condarc
文件还包含以下内容:
channels:
- glotzer
- defaults
我如何配置conda以便通道仅在特定环境中可用?
我确实在channel documentation中发现对于conda> = 4.1.0,将频道放在~/.condarc
的底部将阻止添加的频道覆盖核心包集。
默认情况下,conda现在优先于较低优先级通道的任何版本的优先级较高的通道中的包。因此,您现在可以安全地将频道放在您的底部 频道列表,以提供不在其中的其他包 默认频道,仍然相信这些频道不会 覆盖核心包集。
我希望这可以防止大多数问题,除非在一个环境中你确实希望通过通道添加包来覆盖核心包。
答案 0 :(得分:21)
从conda 4.2开始,支持特定于环境的.condarc
文件,您可以编写:
conda config --env --add channels glotzer
将通道添加到活动环境的配置中。
[不确定在4.2中是否添加了--env
标志。基于conda 4.5.9的答案]
答案 1 :(得分:6)
目前无法将通道添加到单个conda环境中。如果您不想将频道添加到全局~/.condarc
文件,则应使用该选项从特定频道安装包:
conda install <some-package> -c glotzer
答案 2 :(得分:4)
您可以创建包含environment.yml
环境规范的conda
文件。完整的文档是here,但基本设置如下:
name: EnvironmentName
channels:
- conda-forge
- glotzer
dependencies:
- pip:
- tensorflow
- pandas=0.22.*
要使用该环境,请键入
conda env create -f environment.yml
conda activate EnvironmentName
更改environment.yml
或更新包时更新环境
conda env update -f environment.yml
conda activate EnvironmentName
答案 3 :(得分:0)
您可以使用特定渠道创建新环境:
conda create -n EnvironmentName -c ChannelName