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

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

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

base.yml

名称:myenv
频道:
-康达锻造厂
依赖项:
-django=1.10.5
-pip:
-django脆皮型==1.6.1

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

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

以前为实现这一目标所做的尝试包括:

使用导入定义创建local.yml文件:

频道:
依赖项:
-pip:
-boto3==1.4.4
进口:
-要求/基础。

然后运行以下命令:
conda安装-f local.yml

这是行不通的。有什么想法吗

尝试使用conda环境更新:

conda激活myenv
conda env update--file local.yml--prune

--prune卸载从local.yml中删除的依赖项,正如@Blink在回答中指出的那样

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

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

请参见《康达用户指南》中的更新环境

发表评论