如何列出 conda 可用的软件包版本
Posted
技术标签:
【中文标题】如何列出 conda 可用的软件包版本【英文标题】:How to list package versions available with conda 【发布时间】:2017-08-30 13:11:24 【问题描述】:有没有办法查看 conda 提供了哪些软件包版本?我在使用 jupyter 时遇到错误,但它之前可以正常工作。蛋黄之类的?
【问题讨论】:
【参考方案1】:要搜索特定包,请使用:conda search -f <package_name>
。例如,根据问题,要搜索“jupyter”包的所有版本,您将执行以下操作:conda search -f jupyter
。这只会返回有关名为“jupyter”的包的信息。
来源:https://docs.conda.io/projects/conda/en/latest/commands/search.html
【讨论】:
嗯,谢谢,但不确定-f
,因为文档没有提到它。事实上 diff <(condaw search -f jupyter) <(condaw search jupyter) |& wc -l
为我的 conda 版本返回 0
: conda 4.7.10【参考方案2】:
您只需输入“conda search”,就会得到如下内容。
$ conda search
Fetching package metadata .........
affine 2.0.0 py27_0 defaults
2.0.0 py35_0 defaults
2.0.0 py36_0 defaults
alabaster 0.7.3 py27_0 defaults
0.7.3 py34_0 defaults
0.7.7 py27_0 defaults
0.7.7 py34_0 defaults
0.7.7 py35_0 defaults
0.7.9 py27_0 defaults
【讨论】:
【参考方案3】:列出安装在你的 anaconda 机器上的软件包
conda list
这是列出所有可用于 anaconda 的包
conda search
【讨论】:
【参考方案4】:作为附录,您可以使用conda search
的输出来微调您需要安装的软件包的版本。例如。在“nasica88”的列表中,有三个可用的 albaster 0.7.7 版本与不同的 python 版本。如果您需要,例如albaster 0.7.7 和 python 3.4,你安装它如下:
$> conda install albaster=0.7.7=py34_0
所以,第二个=
符号是你的朋友。
【讨论】:
而-h
的conda search
输出并没有阐明两个=
标志的含义,因此我在***.com/q/57538225/257924 提出了新问题【参考方案5】:
如果您知道要安装的软件包的名称,请搜索它的所有可用版本。例如。对于包 pandas,您将执行以下操作
conda search pandas
然后安装你想要使用的版本
conda install pandas=1.0.2
【讨论】:
【参考方案6】:要将冗长且缓慢加载的 conda search
输出缩减为仅适合您的环境的(最新)版本,您可以使用 MatchSpec 过滤器,如 here in conda Github repo 所记录的那样 p>
例如:
$ conda search "conda-forge::*[name=scikit-learn, subdir=linux-64, build=*py37*]" | tail -n5
scikit-learn 0.21.2 py37h627018c_0 conda-forge
scikit-learn 0.21.2 py37hcdab131_1 conda-forge
scikit-learn 0.21.3 py37hcdab131_0 conda-forge
scikit-learn 0.22 py37hcdab131_0 conda-forge
scikit-learn 0.22 py37hcdab131_1 conda-forge
请注意,最新版本位于列表底部(它们按时间升序排序),因此可以使用tail -n1
找到,例如:
$ conda search "conda-forge::*[name=scikit-learn, subdir=linux-64, build=*py38*]" | tail -n1 | awk 'print $2'
$ 0.23.2
注意事项:
使用version
缩小主要和/或次要版本是有风险的,因为version=1.*.*
会错过诸如1.1
或1
之类的版本,
将架构(使用subdir
键)设置为linux-64
可能会错过一些有用的linux 64 位软件包,如果它们存储在noarch
文件夹中而不是linux-64
中
【讨论】:
【参考方案7】:要获取特定包的版本,您可以通过grep
过滤它:喜欢:
$ conda list | grep tensorflow
结果:
tensorflow 2.2.0 mkl_py36h5a57954_0
tensorflow-base 2.2.0 mkl_py36hd506778_0
tensorflow-estimator 2.2.0 pyh208ff02_0
【讨论】:
【参考方案8】:我在 conda 中安装了 pip,所以 pip list
也可以工作
【讨论】:
以上是关于如何列出 conda 可用的软件包版本的主要内容,如果未能解决你的问题,请参考以下文章