我可以将频道添加到特定的conda环境吗?

问题描述 投票:19回答:4

我想将conda频道添加到特定的conda environment,但是当我使用时

conda config --add channels glotzer

该频道现在可从我所有的conda环境中获得。除了从其他环境测试安装之外,~/.condarc文件还具有以下内容:

channels:
  - glotzer
  - defaults

我如何配置conda以便通道仅在特定环境中可用?

我确实在channel documentation中发现,对于conda> = 4.1.0,在~/.condarc底部放置通道将阻止添加的通道覆盖核心包集。

默认情况下,conda现在优先于较低优先级通道的任何版本的优先级较高的通道中的包。因此,您现在可以安全地将频道放在频道列表的底部,以提供不在默认频道中的其他包,并且仍然确信这些频道不会覆盖核心包集。

我希望这可以防止大多数问题,除非在一个环境中你确实希望通过通道添加包来覆盖核心包。

python environment conda
4个回答
26
投票

从conda 4.2开始,支持特定于环境的.condarc文件,您可以编写:

conda config --env --add channels glotzer

将通道添加到活动环境的配置中。

[不确定是否在4.2中添加了--env标志。答案基于康达4.5.9]


6
投票

目前,无法将通道添加到单个conda环境中。如果您不想将通道添加到全局~/.condarc文件,则应使用该选项从特定通道安装包:

conda install <some-package> -c glotzer

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

0
投票

您可以使用特定渠道创建新环境:

conda create -n EnvironmentName -c ChannelName

© www.soinside.com 2019 - 2024. All rights reserved.