pypi查看旧版本的软件包

时间:2014-08-03 11:21:40

标签: python django pypi

这是我感兴趣的包裹:

https://pypi.python.org/pypi/django-filebrowser-no-grappelli/

然而,最新版本不再支持Django 1.3。我需要找到一个版本。 如何查看旧版本列表?

6 个答案:

答案 0 :(得分:77)

它可能有点不雅,但似乎你可以转到URL

https://pypi.python.org/simple/<package>

你将获得一些包含tar包的链接。

例如:

https://pypi.python.org/simple/django-filebrowser-no-grappelli/

答案 1 :(得分:35)

这在pypi的新UI中可见:

https://pypi.org/project/<package>/#history

例如:

https://pypi.org/project/django-filebrowser-no-grappelli/#history

答案 2 :(得分:9)

您可以使用这个简短的Python 3脚本,使用JSON API从PyPI中获取包的可用版本列表:

#!/usr/bin/env python3

import sys    
import requests
from pkg_resources import parse_version    

def versions(pkg_name):
    url = f'https://pypi.python.org/pypi/{pkg_name}/json'
    releases = requests.get(url).json()['releases']
    return sorted(releases, key=parse_version, reverse=True)    

if __name__ == '__main__':
    print(*versions(sys.argv[1]), sep='\n')

演示:

$ python versions.py django-filebrowser-no-grappelli
3.7.8
3.7.7
3.7.6
3.7.5
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
3.6.2
3.6.1
3.5.8
3.5.7
3.5.6
3.1.1

答案 3 :(得分:6)

使用pip,您可以找到该软件包的所有可用版本:

pip install django-filebrowser-no-grappelli==randomwords

这将产生所有可用包的输出:

 Could not find a version that satisfies the requirement 
   django-filebrowser-no-grappelli==randomwords  
 (from versions: 3.1.1, 3.5.6, 3.5.7, 3.5.8, 3.6.1, 3.6.2, 3.7.0, 3.7.1, 3.7.2)
    No matching distribution found for 
    django-filebrowser-no-grappelli==randomwords

答案 4 :(得分:4)

将以下代码存储在 get_version.py 文件中:

import json
import sys
import urllib2

from distutils.version import LooseVersion

name = sys.argv[1]

resp = urllib2.urlopen("https://pypi.python.org/pypi/{}/json".format(name))
data = json.load(resp)

for ver in sorted([LooseVersion(version) for version in data["releases"].keys()]):
    print ver.vstring

运行以获取所有包版本的排序列表:

python get_version.py %PACKAGE-NAME%

答案 5 :(得分:3)

如果您使用pip安装软件包,则可以使用:

pip install yolk
yolk -V django-filebrowser-no-grappelli

不幸的是,唯一可用的版本似乎是:

django-filebrowser-no-grappelli 3.1.1

但是,您可以尝试在Internet上找到另一个版本并通过以下方式安装:

pip install -Iv <url_package>