Próbuję dowiedzieć się, czy istnieje sposób, aby uniknąć używania flagi --cert do pipowania podczas instalowania pakietów w pracy. Istnieje pewien problem z serwerem proxy, który pozwala mi tylko pobierać pakiety, których potrzebuję, gdy dostarczę tę flagę, pomimo dodania mycert.crt
pliku /usr/local/share/ca-certificates
i uruchomienia sudo update-ca-certificates
.
Przykładem komunikatów, które widzę, jest:
$ pip install "virtualenv>=1.10.1"
Downloading/unpacking virtualenv>=1.10.1
Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed>
Will skip URL https://pypi.python.org/simple/virtualenv/ when looking for download links for virtualenv>=1.10.1
Could not fetch URL https://pypi.python.org/simple/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed>
Will skip URL https://pypi.python.org/simple/ when looking for download links for virtualenv>=1.10.1
Cannot fetch index base URL https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed>
Will skip URL https://pypi.python.org/simple/virtualenv/ when looking for download links for virtualenv>=1.10.1
Could not find any downloads that satisfy the requirement virtualenv>=1.10.1
Cleaning up...
No distributions at all found for virtualenv>=1.10.1
Storing complete log in /tmp/tmpwW5qXD
Można to rozwiązać za pomocą:
pip install --cert=/usr/local/share/ca-certificates/mycert.crt
Jednak wolałbym tego nie robić (ponieważ jestem pewien, że inne aplikacje napotykają ten problem).
Używam Linux Mint 15 (chociaż wcześniej miałem bardzo podobne problemy z Ubuntu 12.04), wersja pip 1.4.1.
linux
ubuntu
linux-mint
ssl
certificate
Ian Lee
źródło
źródło
Odpowiedzi:
Można to ustawić za pomocą pliku konfiguracyjnego pip, który znajduje się w systemie Windows
$HOME/.pip/pip.conf
lub%APPDATA%\pip\pip.ini
w systemie Windows:Ten plik pozwala ustawić w zasadzie wszystkie flagi używane przez pip. Pełna dokumentacja znajduje się na https://pip.pypa.io/en/latest/user_guide/#configuration
źródło
Dla mnie nie zadziałało obejście pliku konfiguracyjnego. Używam pip 1.5.4 na Ubuntu 14.04
To, co ostatecznie zadziałało, to najpierw zainstalowanie certyfikatu w systemie (dla mnie na Ubuntu byłoby to)
Poprzedni automatycznie aktualizuje plik pakietu (sprawdzanie na dole
/etc/ssl/certs/ca-certificates.crt
powinno teraz zobaczyć ten sam certyfikat, co wmy_cert.crt
)Teraz użyj tej ścieżki w
PIP_CERT
. I dodaj to do mojego.bashrc
:ZASTRZEŻENIE : Już opublikowałem tę odpowiedź w SO (ta sama odpowiedź, co w „w końcu zduplikowanym linku powyżej”, ale na początku nie znalazłem drugiej (w końcu zduplikowanej odpowiedzi)), więc jeśli ktoś taki jak ja dotrze tu pierwszy, to może pomóc.
Może łamię jakieś zasady, aby dwa razy zamieścić tę samą odpowiedź, jedną w SO, a drugą w superużytkowniku. Jeśli tak, przepraszam za to.
źródło
Działa to dla mnie bez potrzeby wiedzieć, gdzie znajduje się plik konfiguracyjny:
Uważam, że potrzebujesz pip w wersji 10+, którą możesz znaleźć w:
Dane wyjściowe polecenia config set następnie wyświetlają nazwę pliku konfiguracyjnego dla Twojej wygody
źródło