有一种快速方法可以知道 Anaconda 中是否安装了某个软件包

在 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)?


我查看了 with 上的所有选项conda install --help,发现没有任何可以使用的选项(--satisfied-skip-solve 似乎对已安装的软件包有帮助,但它会破坏新安装吗?)。


慕田峪7331174
浏览 195回答 1
1回答

守着星空守着你

是的,-S|--satisfied-skip-solve解决这个问题。您可以进行试运行 ( -d) 来测试新包的行为 - 对我来说效果很好。看来你已经回答了你自己的问题。我想指出的是,您可能还想包含一个--update-specs标志:这告诉 Conda 您明确希望未来环境中的包。这解决了仅作为依赖项安装的包的情况,并且通常在删除依赖包时将其删除。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python