Python 和 pip,列出可用包的所有版本?

新手上路,请多包涵

鉴于可以使用 pip 安装的 Python 包的名称,有没有办法找出 pip 可以安装的所有可能版本的列表?现在是反复试验。

我正在尝试为第三方库安装一个版本,但最新版本太新,做了向后不兼容的更改。所以我想以某种方式列出 pip 知道的所有版本,以便我可以测试它们。

原文由 Amandasaurus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

(更新:截至 2020 年 3 月,许多人报告说通过 pip install yolk3k 安装的蛋黄只返回最新版本。 克里斯的回答 似乎得到了最多的支持,并且对我有用)

pastebin 的脚本确实有效。但是,如果您使用多个环境/主机,则不是很方便,因为您每次都必须复制/创建它。

一个更好的全方位解决方案是使用 yolk3k ,它可以通过 pip 安装。例如查看可用的 Django 版本:

 $ pip install yolk3k
$ yolk -V django
Django 1.3
Django 1.2.5
Django 1.2.4
Django 1.2.3
Django 1.2.2
Django 1.2.1
Django 1.2
Django 1.1.4
Django 1.1.3
Django 1.1.2
Django 1.0.4

yolk3k 是原版 yolk 的一个分支,它于 2012 年 停止开发。虽然 yolk 不再维护(如下面的评论所示),但 yolk3k 似乎支持 Python 3。

注意: 我不参与 yolk3k 的开发。 如果某些事情似乎没有按应有的方式工作,那么在这里留下评论应该不会有太大的不同。 如果可能,请改用 yolk3k 问题跟踪器 并考虑提交修复程序。

原文由 m000 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于 pip >= 21.2 使用:

 pip index versions pylibmc

请注意,此命令是实验性的,将来可能会发生变化!

对于 pip >= 21.1 使用:

 pip install pylibmc==

对于 pip >= 20.3 使用:

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

对于 pip >= 9.0 使用:

 $ pip install pylibmc==
Collecting pylibmc==
  Could not find a version that satisfies the requirement pylibmc== (from
  versions: 0.2, 0.3, 0.4, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5, 0.6.1, 0.6,
  0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7, 0.8.1, 0.8.2, 0.8, 0.9.1, 0.9.2, 0.9,
  1.0-alpha, 1.0-beta, 1.0, 1.1.1, 1.1, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.3.0)
No matching distribution found for pylibmc==

将打印可用版本,而无需实际下载或安装任何软件包。

对于 pip < 9.0 使用:

 pip install pylibmc==blork

其中 blork 可以是任何 不是有效版本号的 字符串。

原文由 Chris Montanaro 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题