如何在多个/所有conda环境中安装一个包?
我正在用conda来测试不同版本的python、numpy等,但有一些包是所有python和numpy组合都需要的。请问有没有办法把这些包安装到所有的conda环境里,还是说我必须一个一个手动指定?
3 个回答
5
在@abalter的回答中,除了使用for
循环,你也可以用xargs来实现这个功能。需要注意的是,这种方法只适用于没有空格的环境名称:
conda env list | cut -d" " -f1 | tail -n+4 | xargs -L 1 conda install YOUR_PACKAGE -n
8
没有简单的命令可以做到这一点,但有一个方法可能会对你有帮助,那就是使用 conda metapackage
命令创建一个元包,这个元包依赖于你想要的那些包,这样你就可以只安装这个元包。比如你可以这样写:conda metapackage mypackage 1.0 --dependencies package1 package2 package3 ...
。
否则,你可能需要聪明地使用一下 xargs
命令。
16
你可以对conda env list
的输出结果进行循环处理。比如说:
for env in $(conda env list | cut -d" " -f1 | tail -n+4); do conda install -n $env XXXXXX; done