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

How to update an existing Conda environment with a .yml file(如何使用 .yml 文件更新现有的 Conda 环境)
本文介绍了如何使用 .yml 文件更新现有的 Conda 环境的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

How can a pre-existing conda environment be updated with another .yml file. This is extremely helpful when working on projects that have multiple requirement files, i.e. base.yml, local.yml, production.yml, etc.

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

For example, below is a base.yml file has conda-forge, conda, and pip packages:

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.

The actual environment is created with: conda env create -f base.yml.

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

Later on, additional packages need to be added to base.yml. Another file, say local.yml, needs to import those updates.

之前的尝试包括:

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

creating a local.yml file with an import definition:

channels:

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

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

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

This does not work. Any thoughts?

推荐答案

尝试使用 conda 环境更新:

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

--prune 卸载从 local.yml 中删除的依赖项,如 这个答案来自@Blink.

--prune uninstalls dependencies which were removed from local.yml, as pointed out in this answer by @Blink.

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

Or without the need to activate the environment (thanks @NumesSanguis):

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

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

See Updating an environment in Conda User Guide.

这篇关于如何使用 .yml 文件更新现有的 Conda 环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

python arbitrarily incrementing an iterator inside a loop(python在循环内任意递增迭代器)
Joining a set of ordered-integer yielding Python iterators(加入一组产生 Python 迭代器的有序整数)
Iterating over dictionary items(), values(), keys() in Python 3(在 Python 3 中迭代字典 items()、values()、keys())
What is the Perl version of a Python iterator?(Python 迭代器的 Perl 版本是什么?)
How to create a generator/iterator with the Python C API?(如何使用 Python C API 创建生成器/迭代器?)
Python generator behaviour(Python 生成器行为)