web-dev-qa-db-de.com

pypi siehe ältere Versionen des Pakets

Dies ist das Paket, an dem ich interessiert bin:

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

Die neueste Version unterstützt jedoch nicht mehr Django 1.3. Ich muss eine Version finden, die dies tut. Wie kann ich eine Liste älterer Versionen anzeigen?

68
Marijus

Es ist vielleicht ein wenig unelegant, aber es scheint, dass Sie zur URL gehen können

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

Und Sie erhalten eine Reihe von Links zu Tarballs für das Paket.

Ex:

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

Dies ist in der neuen Benutzeroberfläche für pypi sichtbar:

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

Beispielsweise:

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

Mit diesem kurzen Skript Python 3 können Sie die Liste der verfügbaren Versionen für ein Paket von PyPI mit JSON-API abrufen:

#!/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')

Demo:

$ 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

Mit pip können Sie alle verfügbaren Versionen dieses Pakets herausfinden:

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

Dies wird eine Ausgabe aller verfügbaren Pakete erzeugen:

 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

Speichern Sie den folgenden Code in der Datei 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

Führen Sie aus, um eine sortierte Liste aller Paketversionen zu erhalten:

python get_version.py %PACKAGE-NAME%
4
Archibald

Wenn Sie Ihr Paket mit pip installieren, können Sie Folgendes verwenden:

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

Leider scheint die einzig verfügbare Version zu sein:

Django-filebrowser-no-grappelli 3.1.1

Sie können jedoch versuchen, eine andere Version im Internet zu finden und sie folgendermaßen zu installieren:

pip install -Iv <url_package>
3
f_ficarola