[英]Can I add a channel to a specific conda environment?
我想将 conda 通道添加到特定的conda 环境,但是当我使用
conda config --add channels glotzer
该频道现在可从我的所有 conda 环境中使用。 除了从另一个环境测试安装之外, ~/.condarc
文件还包含以下内容:
channels:
- glotzer
- defaults
我将如何配置 conda 以便该频道只能在特定环境中使用?
我确实在频道文档中发现,对于 conda >= 4.1.0,将频道放在~/.condarc
的底部将防止添加的频道覆盖核心包集。
默认情况下,conda 现在更喜欢来自较高优先级频道的包,而不是来自较低优先级频道的任何版本。 因此,您现在可以安全地将频道放在频道列表的底部,以提供不在默认频道中的附加包,并且仍然确信这些频道不会覆盖核心包集。
我希望这可以防止大多数问题,除非在一个环境中您确实希望通过渠道添加的包覆盖核心包。
从.condarc
4.2 开始,支持特定.condarc
环境的.condarc
文件,您可以编写:
conda config --env --add channels glotzer
将通道添加到活动环境的配置中。
[不确定是否在 4.2 中添加了--env
标志。 基于 conda 4.5.9 的答案]
截至 2017 年 1 月,无法向单个 conda 环境添加通道。 从 2020 年 12 月开始,现在可以如Christopher Barber 的回答中所述。
如果您想从特定频道安装软件包但不想将该频道添加到全局~/.condarc
文件,则应使用该选项从特定频道安装软件包:
conda install <some-package> -c glotzer
您可以创建一个包含conda
环境规范的environment.yml
文件。 完整的文档在这里,但基本设置如下:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.