web-dev-qa-db-ja.com

pypiパッケージの古いバージョンを見る

これは私が興味を持っているパッケージです:

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

ただし、最新バージョンではDjango 1.3はサポートされていません。サポートしているバージョンを見つける必要があります。古いバージョンのリストを表示するにはどうすればよいですか?

68
Marijus

それはおそらく少しエレガントではありませんが、URLに行くことができるようです

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

また、パッケージのtarballへのリンクがたくさん得られます。

例:

https://pypi.python.org/simple/Django-filebrowser-no-grappelli/
79
limp_chimp

これは、pypiの新しいUIに表示されます。

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

例えば:

https://pypi.org/project/Django-filebrowser-no-grappelli/#history
36
ngoldbaum

この短い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 __== '__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
9
Eugene Yarmash

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
6
Twengg Rich

次のコードを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%
4
Archibald

pipを使用してパッケージをインストールする場合、次を使用できます。

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

残念ながら、利用可能な唯一のバージョンは次のようです:

Django-filebrowser-no-grappelli 3.1.1

ただし、次の方法でインターネットで別のバージョンを見つけてインストールすることができます。

pip install -Iv <url_package>
3
f_ficarola