如何列出 conda 可用的包版本

How to list package versions available with conda

有没有办法查看 conda 可用的软件包版本?我在使用 jupyter 时遇到错误,但它之前是有效的。蛋黄之类的东西?

您只需输入 "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

要搜索特定包,请使用:conda search -f <package_name>。例如,根据问题,要搜索 "jupyter" 包的所有版本,您将执行:conda search -f jupyter。这只会 return 关于名为 "jupyter" 的包的信息。

来源:https://docs.conda.io/projects/conda/en/latest/commands/search.html

作为附录,您可以使用 conda search 的输出来微调您需要安装的软件包的版本。例如。在 'nasica88' 的列表中,提供了三个具有不同 python 版本的 albaster 0.7.7 版本。如果您需要,例如albaster 0.7.7 和 python 3.4,你安装它如下:

$> conda install albaster=0.7.7=py34_0

所以,第二个 = 标志是你的朋友。

列出安装在你的 anaconda 机器上的包

conda list

这是为了列出所有可用于 anaconda 的软件包

conda search

为了 trim 将漫长而缓慢的 conda search 输出加载到适合您环境的(最新)版本,您可以使用 MatchSpec 过滤器,如文档所述 here in conda Github repo

例如:

$ 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 '}
$ 0.23.2

注意事项:

  • 使用version缩小主要and/or次要版本是有风险的,因为version=1.*.*会错过1.1或[=17等版本=],

  • 将体系结构(使用 subdir 键)设置为 linux-64 可能会错过一些有用的 linux 64 位包,如果它们存储在 noarch 文件夹而不是 linux-64

如果您知道要安装的软件包的名称,请搜索它的所有可用版本。例如。对于包 pandas,您将执行以下操作

conda search pandas

然后使用

安装你想要的版本
conda install pandas=1.0.2

要获取特定包的版本,您可以通过 grep 过滤它 Like:

$ 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  

我在conda中安装了pip,所以pip list也可以