【问题标题】:check version of pip packages available before installing [duplicate]在安装之前检查可用的 pip 包版本[重复]
【发布时间】:2014-11-15 11:22:19
【问题描述】:

我想在安装之前知道软件包 pip 的可用版本。我知道您可以使用“pip show”检查已安装的软件包的版本,但我想检查 pip 在其存档中可用的软件包版本。然后,一旦我确定了它们,你如何选择一个特定的来安装?

【问题讨论】:

标签: python pip


【解决方案1】:

pip install --use-deprecated=legacy-resolver foobar==

--use-deprecated=legacy-resolver 是必填项after pip 20.3

要查看所有版本,请安装一个不存在的版本,它可以是空字符串。 [谢谢@ChrisMontanaro@JanKyuPeblik]

$ pip install --use-deprecated=legacy-resolver numpy==
ERROR: Could not find a version that satisfies the requirement numpy== 
(from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 
1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 
1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 
1.11.3, 1.12.0, 1.12.1, 1.13.0rc1, 1.13.0rc2, 1.13.0, 1.13.1, 1.13.3, 
1.14.0rc1, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 
1.15.0rc1, 1.15.0rc2, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0rc1, 
1.16.0rc2, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 
1.17.0rc1, 1.17.0rc2, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 
1.18.0rc1, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0rc1, 
1.19.0rc2, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0rc1, 
1.20.0rc2, 1.20.0, 1.20.1, 1.20.2)
ERROR: No matching distribution found for numpy== 

然后你可以安装其中一个:

$ pip install numpy==1.20.2
Collecting numpy==1.20.2
  Downloading numpy-1.20.2-cp38-cp38-win_amd64.whl (13.7 MB)
     |████████████████████████████████| 13.7 MB 6.4 MB/s
Installing collected packages: numpy
Successfully installed numpy-1.20.2

p==xRequirement Specifier 表示安装包p 版本x

【讨论】:

  • 对我来说最好的答案! (接受的对我来说不起作用)
  • 这应该被标记为接受的答案。
  • 这个答案对我有用。但是这个遗留问题解决者是什么?
  • @Sergio 我猜这是将包名称和版本与存储库匹配的旧方法。如果您要求伪造版本,那么旧方法的副作用是显示所有可用版本。这对这个答案很方便。对我们来说不幸的是,“新的”“解析器”并没有这样做。 (根据链接,这个遗留解析器很快就会消失。)最好的进步是 10% 的授权和 90% 的烦人。
【解决方案2】:

对于截至 2020 年 12 月的较新版本的 pip,您应该使用:

pip download -v packagename

对于旧版本的 pip,您可以使用:

pip install --download . -v packagename

以上两个命令都会在不安装的情况下下载文件,并且还会显示软件包的所有版本(之后您可以停止该命令)。之后,要安装特定版本,请使用:

pip install packagename==version

【讨论】:

  • 有没有办法做到这一点,不会下载任何东西或向控制台发送大量额外垃圾?
  • 对于截至 2020 年 12 月的较新版本的 pip,您应该使用 pip download -v packagename
【解决方案3】:

不一般,但首先访问 PyPI (https://pypi.org/) 应该会让您了解最有可能 pip 会下载的稳定版本。

【讨论】:

    猜你喜欢
    • 2017-06-05
    • 2017-03-19
    • 2013-09-24
    • 2013-11-02
    • 2012-03-09
    • 1970-01-01
    • 2012-04-30
    • 2011-09-28
    相关资源
    最近更新 更多