til*_*oom 87 python django anaconda conda
这是在这里被问到但从未回答.
如何使用另一个.yml文件更新预先存在的conda环境.在处理具有多个需求文件的项目时,这非常有用,例如base.yml, local.yml, production.yml,等等.
例如,下面是一个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
Run Code Online (Sandbox Code Playgroud)
创建实际环境:
conda env create -f base.yml.
稍后,需要添加其他包base.yml.例如local.yml,另一个文件需要导入这些更新.
以前尝试完成此任务包括:
local.yml使用导入定义创建文件:
channels:
dependencies:
- pip:
- boto3==1.4.4
imports:
- requirements/base.
Run Code Online (Sandbox Code Playgroud)
然后运行命令:
conda install -f local.yml.
这不起作用.有什么想法吗?
alk*_*mid 127
尝试使用conda env update:
source activate myenv
conda env update --file local.yml
Run Code Online (Sandbox Code Playgroud)
Dav*_*ave 19
alkamid的答案是正确的,但我发现如果环境已经处于活动状态,Conda将无法安装新的依赖项.停用环境首先解决了这个问题:
source deactivate;
conda env update -f whatever.yml;
source activate my_environment_name; # Must be AFTER the conda env update line!
Run Code Online (Sandbox Code Playgroud)
小智 15
建议的答案部分正确。您将需要添加--prune选项,以卸载从environment.yml中删除的软件包。正确的命令:
conda env update -f local.yml --prune
Run Code Online (Sandbox Code Playgroud)