小编典典

如何使用 .yml 文件更新现有的 Conda 环境

all

如何使用另一个 .yml 文件更新预先存在的 conda 环境。这在处理具有多个需求文件的项目时非常有用,base.yml, local.yml, production.yml例如,等等。

例如,下面是一个base.yml包含 conda-forge、conda 和 pip 包的文件:

基础.yml

name: myenv
channels:
  - conda-forge
dependencies:
  - django=1.10.5
  - pip:
    - django-crispy-forms==1.6.1

实际环境是通过以下方式创建的: conda env create -f base.yml.

稍后,需要将其他包添加到base.yml. 另一个文件,比如说local.yml,需要导入这些更新。

以前的尝试包括:

创建local.yml具有导入定义的文件:

channels:

dependencies:
  - pip:
    - boto3==1.4.4
imports:
  - requirements/base.

然后运行命令: conda install -f local.yml.

这不起作用。有什么想法吗?


阅读 208

收藏
2022-05-17

共1个答案

小编典典

尝试使用conda env
update

conda activate myenv
conda env update --file local.yml --prune

--prune卸载从
中删除的依赖项,正如此答案local.yml中指出的那样。

建议的答案是部分正确的。您需要添加–prune选项来卸载从 environment.yml 中删除的包。正确的命令:

conda env update -f local.yml --prune

或者不需要激活环境(感谢@NumesSanguis):

conda env update --name myenv --file local.yml --prune

请参阅Conda 用户指南中的更新环境

2022-05-17