繁体   English   中英

conda:在 environment.yml 中设置环境特定通道

[英]conda: set environment specific channels in environment.yml

如果我指定channels:在我的env.yml文件中,用于创建 env 的包确实来自这个频道。

$ cat env.yml 
channels:
  - conda-forge
  - nodefaults
dependencies:
  - python=3.8
  - numpy

创建环境:

$ conda env create -n test -f env.yml
$ conda activate test

软件包通过正确的渠道安装:

$ conda list 
# packages in environment at /home/mathurin/anaconda3/envs/test:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge

但是,当我在这个环境中安装其他包时,它们仍然来自默认通道:

$ conda config --show channels 
channels:
  - defaults

我怎样才能告诉 conda 为这个环境一劳永逸地设置通道,并且可以在environement.yml内完成吗?

这不可能通过 YAML 实现。 但是,可以设置特定于环境的配置设置。

conda activate test
conda config --env --append channels conda-forge --append channels nodefaults

关键是--env参数:这将编辑.condarc envs/test/目录中的 .condarc ,它将优先于任何系统级或用户级.condarc 但是,两个.condarc文件都将被加载,因此如果您在~/.condarc中明确有defaults ,它仍会在特定于环境的文件之后显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM