如何使用另一个 .yml 文件更新预先存在的 conda 环境。当处理具有多个需求文件的项目时,这非常有用,即base.yml, local.yml, production.yml
, etc.
例如,下面是一个base.yml
文件有 conda-forge、conda 和 pip 包:
base.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
.
这是行不通的。有什么想法吗?
尝试使用conda 环境更新 https://docs.conda.io/projects/conda/en/latest/commands/update.html:
conda activate myenv
conda env update --file local.yml --prune
--prune
卸载已删除的依赖项local.yml
,正如指出的这个答案 https://stackoverflow.com/a/54825300/2261298通过@眨眼。
注意力:如果有一个name
标签名称与您的环境名称不同local.yml
,上面的命令将创建一个具有该名称的新环境。为了避免这种情况,请使用(感谢@NumesSanguis):
conda env update --name myenv --file local.yml --prune
See 更新环境 https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html?highlight=prune#updating-an-environment在 Conda 用户指南中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)