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

2024-04-25 08:10:42 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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


Tags: pip版本名称列表方式办法
3条回答

对于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可以是not a valid version number的任何字符串。

更新:
截至2017年9月,此方法不再有效:--no-install已在pip 7中删除

使用pip install -v,您可以看到所有可用的版本

root@node7:~# pip install web.py -v
Downloading/unpacking web.py
  Using version 0.37 (newest of versions: 0.37, 0.36, 0.35, 0.34, 0.33, 0.33, 0.32, 0.31, 0.22, 0.2)
  Downloading web.py-0.37.tar.gz (90Kb): 90Kb downloaded
  Running setup.py egg_info for package web.py
    running egg_info
    creating pip-egg-info/web.py.egg-info

要不安装任何软件包,请使用以下解决方案之一:

root@node7:~# pip install --no-deps --no-install flask -v                                                                                                      
Downloading/unpacking flask
  Using version 0.10.1 (newest of versions: 0.10.1, 0.10, 0.9, 0.8.1, 0.8, 0.7.2, 0.7.1, 0.7, 0.6.1, 0.6, 0.5.2, 0.5.1, 0.5, 0.4, 0.3.1, 0.3, 0.2, 0.1)
  Downloading Flask-0.10.1.tar.gz (544Kb): 544Kb downloaded

或者

root@node7:~# cd $(mktemp -d)
root@node7:/tmp/tmp.c6H99cWD0g# pip install flask -d . -v
Downloading/unpacking flask
  Using version 0.10.1 (newest of versions: 0.10.1, 0.10, 0.9, 0.8.1, 0.8, 0.7.2, 0.7.1, 0.7, 0.6.1, 0.6, 0.5.2, 0.5.1, 0.5, 0.4, 0.3.1, 0.3, 0.2, 0.1)
  Downloading Flask-0.10.1.tar.gz (544Kb): 4.1Kb downloaded

用pip 1.0测试

root@node7:~# pip --version
pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)

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

一个更好的全面解决方案是使用yolk3k,它可以与pip一起安装。E、 g.要查看有哪些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是原始^{}的一个分支,它在2012中停止了开发。尽管yolk不再被维护(如下面的注释所示),但yolk3k似乎是并支持Python 3。

注意:我没有参与yolk3k的开发。如果有些东西似乎没有正常工作,在这里留下评论应该不会有太大的区别。请使用yolk3k issue tracker来代替,并考虑提交一个修复程序,如果可能的话。

相关问题 更多 >