Collecting rsa==3.1.1 (from -r /racetrack/.requirements.txt (line 41))
eval (python -m virtualfish)
Downloading rsa-3.1.1.tar.gz
Complete output from command python setup.py egg_info:
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz
Traceback (most recent call last):
File "/usr/lib/python2.7/urllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: SSL is required
Odpowiedz
Rozwiązanie: uaktualnij do najnowszej wersji biblioteki.
Wszystko zaczyna się tutaj, nagle (w październiku 2017 r.) Zespół Distutils zdecydował się wycofać wsparcie dla żądań innych niż https bez obawy o złamanie wstecznej kompatybilności wcześniejszych wersji wielu bibliotek Pythona. Trochę nieprofesjonalny, ale hej to świat Pythona.
Więc tutaj jest poprawka, po prostu przejść do najnowszej wersji biblioteki (rsa==3.4.2
w moim przypadku) na cokolwiek biblioteki (nltk==3.2.5
etc)
Alternatywne rozwiązanie: Fork (lub lokalnie skopiować) Wersja repo & modyfikować http
URL w https
Niemniej jednak należy zwrócić uwagę, czy robisz to przy zachowaniu innego projektu, ponieważ zależność, którą aktualizujesz może nie być zgodna z oryginalnej biblioteki autor miał przeznaczone, na przykład w moim kontekście rsa
został użyty w innej bibliotece jako zależność. Tak więc rozwiązaniem było uaktualnienie biblioteki nadrzędnej, aby problem ten został automatycznie rozwiązany.
PS: Aby uniknąć nieporozumień, podczas budowania requirements.txt
należy wprowadzać tylko te biblioteki, których naprawdę używasz, a nie ich & ich zależności. Pip automatycznie je rozwiąże. (DRY)
Informacja o wydaniu Distutils (październik 2017): https://mail.python.org/pipermail/distutils-sig/2017- October/031714.html – nehemiah