在Anaconda中安装软件包至少需要15秒,如果已经安装了软件包,则解决环境仍然需要时间:
time /opt/Anaconda3-2019.10/bin/conda install --override-channels --quiet -y plotly-orca
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done
# All requested packages already installed.
real 0m15.067s
user 0m13.533s
sys 0m0.401s
但是检查软件包(与版本无关)是否仅需2秒钟:
time /opt/Anaconda3-2019.10/bin/conda list --quiet plotly-orca
# packages in environment at /opt/Anaconda3-2019.10:
#
# Name Version Build Channel
plotly-orca 1.3.1 1 plotly
real 0m2.303s
user 0m2.227s
sys 0m0.064s
我知道我可以对此做一些Shell脚本编写工作,但是有一种更好的方法来仅在尚不存在的情况下安装软件包?
conda是否具有可用于检查此内容的API(类似于pip)?
我浏览了conda install --help
上的所有选项,发现我无法使用的任何东西(--satisfied-skip-solve似乎对已安装的软件包有所帮助,但这会中断新安装吗?)。
谢谢!
答案 0 :(得分:0)
是的,
-S|--satisfied-skip-solve
解决了这个问题。您可以进行空运行(-d
)来测试其对新软件包的行为-对我来说效果很好。好像您已经回答了自己的问题。我会注意到您可能还希望包含一个--update-specs
标志:这告诉Conda您明确希望将来的环境中使用这些软件包。这解决了仅作为依赖项安装的软件包的情况,并且在删除依赖软件包的情况下通常会删除它们。