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

2024-09-22 16:29:46 发布

您现在位置:Python中文网/ 问答频道 /正文

如何用另一个.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

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


Tags: pip文件项目djangonamebase环境local
3条回答

尝试使用conda env update

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

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

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

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

conda env update -f local.yml --prune

alkamid的答案是正确的,但是我发现如果环境已经处于活动状态,Conda将无法安装新的依赖项。先停用环境可解决以下问题:

source deactivate;
conda env update -f whatever.yml;
source activate my_environment_name; # Must be AFTER the conda env update line!

相关问题 更多 >