我想将conda频道添加到特定的conda environment,但是当我使用时
conda config --add channels glotzer
该频道现在可从我所有的conda环境中获得。除了从其他环境测试安装之外,~/.condarc
文件还具有以下内容:
channels:
- glotzer
- defaults
我如何配置conda以便通道仅在特定环境中可用?
我确实在channel documentation中发现,对于conda> = 4.1.0,在~/.condarc
底部放置通道将阻止添加的通道覆盖核心包集。
默认情况下,conda现在优先于较低优先级通道的任何版本的优先级较高的通道中的包。因此,您现在可以安全地将频道放在频道列表的底部,以提供不在默认频道中的其他包,并且仍然确信这些频道不会覆盖核心包集。
我希望这可以防止大多数问题,除非在一个环境中你确实希望通过通道添加包来覆盖核心包。
从conda 4.2开始,支持特定于环境的.condarc
文件,您可以编写:
conda config --env --add channels glotzer
将通道添加到活动环境的配置中。
[不确定是否在4.2中添加了--env
标志。答案基于康达4.5.9]
目前,无法将通道添加到单个conda环境中。如果您不想将通道添加到全局~/.condarc
文件,则应使用该选项从特定通道安装包:
conda install <some-package> -c glotzer
您可以创建一个包含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
您可以使用特定渠道创建新环境:
conda create -n EnvironmentName -c ChannelName