【发布时间】:2014-06-09 09:36:55
【问题描述】:
我正在使用 conda 对不同版本的 python、numpy 等运行测试,但是对于 python/numpy 的所有组合都有一些共同的依赖关系。有没有办法将这些包安装到 all conda 环境中,还是我必须手动指定每个?
【问题讨论】:
-
嘿,如果我的回答对你有用,你能接受吗?
我正在使用 conda 对不同版本的 python、numpy 等运行测试,但是对于 python/numpy 的所有组合都有一些共同的依赖关系。有没有办法将这些包安装到 all conda 环境中,还是我必须手动指定每个?
【问题讨论】:
您可以对conda env list 的输出运行一个shell 循环。例如:
for env in $(conda env list | cut -d" " -f1 | tail -n+4); do conda install -n $env XXXXXX; done
【讨论】:
没有简单的命令来执行此操作,但可能有帮助的一件事是使用 conda metapackage 命令创建一个元包,该命令取决于您想要的包,以便您可以安装它。类似于conda metapackage mypackage 1.0 --dependencies package1 package2 package3 ...。
否则,您可能只需要巧妙地使用xargs。
【讨论】:
conda 的一部分,而是conda-build 的一部分。还是有用的。
除了在@abalter 的答案中使用for 循环,您也可以使用 xargs 来完成。
请注意,这仅适用于没有空格的环境名称:
conda env list | cut -d" " -f1 | tail -n+4 | xargs -L 1 conda install YOUR_PACKAGE -n
【讨论】: