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
相關文章
相關標籤/搜索