Python和pip,列出可用的软件包的全部版本?

给定能够与pip一块儿安装的Python软件包的名称,是否有任何方法能够找到pip能够安装的全部可能版本的列表? 如今是反复试验。 node

我正在尝试为第三方库安装一个版本,可是最新版本太新了,进行了向后不兼容的更改。 因此我想以某种方式列出pip知道的全部版本,以便我能够对其进行测试。 python


#1楼

https://pypi.python.org/pypi/Django/-适用于维护者选择显示全部软件包的软件包https://pypi.python.org/simple/pip/-不管如何都应该作到这一点(列出全部连接) git


#2楼

更新:
从2017年9月开始,此方法再也不起做用: --no-install在pip 7中删除了--no-install github

使用pip install -v ,您能够看到全部可用的版本。 web

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

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

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

要么 flask

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测试 bash

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

#3楼

您能够使用yolk3k软件包而不是yolk。 yolk3k是原始蛋黄的叉子,它同时支持python2和3。 python2.7

https://github.com/myint/yolk ide

pip install yolk3k

#4楼

对于> = 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能够是不是有效版本号的任何字符串。


#5楼

您不须要第三方软件包便可获取此信息。 pypi为如下全部包提供了简单的JSON feed

https://pypi.python.org/pypi/{PKG_NAME}/json

如下是一些仅使用获取全部版本的标准库的Python代码。

import json
import urllib2
from distutils.version import StrictVersion

def versions(package_name):
    url = "https://pypi.python.org/pypi/%s/json" % (package_name,)
    data = json.load(urllib2.urlopen(urllib2.Request(url)))
    versions = data["releases"].keys()
    versions.sort(key=StrictVersion)
    return versions

print "\n".join(versions("scikit-image"))

该代码打印出来(截至2015年2月23日):

0.7.2
0.8.0
0.8.1
0.8.2
0.9.0
0.9.1
0.9.2
0.9.3
0.10.0
0.10.1
相关文章
相关标签/搜索