使用 meta.yaml 中描述的要求更新当前环境



我想更新当前的环境,只是在 git 拉取之后,在 Makefile 中使用规则,兼容所有操作系统。

> git pull
> conda env update --meta meta.yaml # Something like that

如何使用 meta.yaml 中存在的要求更新当前环境?

导出方法复制依赖项和版本,并且特定于平台(Windows,Linux等(。

> conda env export > export.yaml # Bad solution. Duplicate info from meta.yaml

不确定在export.yaml中是否有相同的要求,并且在meta.yaml中都有描述。

我想要类似的东西

> conda env update --meta meta.yaml

要导入 build: 中描述的所有需求,请运行: 并测试:

一种解决方案是创建一个脚本来处理buildtestrun中的需求"组合";并为conda生成所需的env.yaml

meta_update.py

#!/usr/bin/python3
import yaml
with open('meta.yaml', 'r') as meta_file:
meta = yaml.load(meta_file)
env = {}
for req_type in ['build', 'run', 'test']:   # or more generally: for req_type in meta.keys():
env.update(meta[req_type])
yaml.dump(env, 'my_env.yaml')

然后在你的制作文件中,你可以调用meta_update.py, 其次是conda env update my_env.yaml

相关内容

  • 没有找到相关文章

最新更新