我想在 git pull 之后使用 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
中的要求。 , test
, 和 run
;并产生所需的 env.yaml
为 conda
.
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')
然后在你的 Makefile 中,你可以调用
meta_update.py
,其次是
conda env update my_env.yaml
.
关于anaconda - 使用 meta.yaml 中描述的要求更新当前环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018570/