programing

pypi는 이전 버전의 패키지를 참조하십시오.

nasanasas 2020. 11. 4. 08:04
반응형

pypi는 이전 버전의 패키지를 참조하십시오.


이것은 내가 관심있는 패키지입니다.

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

그러나 최신 버전은 더 이상 Django 1.3을 지원하지 않습니다. 작동하는 버전을 찾아야합니다. 이전 버전 목록을 보려면 어떻게합니까?


다소 우아하지는 않지만 URL로 이동할 수있는 것 같습니다.

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

그리고 패키지의 tarball에 대한 많은 링크를 얻을 수 있습니다.

전의:

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

이것은 pypi의 새 UI에서 볼 수 있습니다.

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

예를 들면 :

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

이 짧은 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

를 사용하여 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

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

Run to get a sorted list of all package versions:

python get_version.py %PACKAGE-NAME%

If you are using pip to install your package, then you may use:

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

Unfortunately the only available version seems to be:

django-filebrowser-no-grappelli 3.1.1

However, you can try to find another version on the Internet and install by:

pip install -Iv <url_package>

참고URL : https://stackoverflow.com/questions/25104154/pypi-see-older-versions-of-package

반응형