Jestem bardzo nowy w Pythonie i staram się > pip install linkchecker
na Windows 7. Kilka notatek:
- instalacja pip kończy się niepowodzeniem bez względu na pakiet. Na przykład
> pip install scrapy
powoduje również błąd SSL. - Waniliowa instalacja Python 3.4.1 zawiera pip 1.5.6. Pierwszą rzeczą, którą próbowałem zrobić, to zainstalować linkchecker. Python 2.7 został już zainstalowany, przyszedł z ArcGIS.
python
ipip
nie były dostępne z wiersza poleceń, dopóki nie zainstalowałem 3.4.1. > pip search linkchecker
Pracuje. Być może dzieje się tak, ponieważ wyszukiwanie pip nie weryfikuje certyfikatu SSL witryny.- Jestem w sieci firmowej, ale nie przechodzimy przez serwer proxy, aby uzyskać dostęp do Internetu.
- Każdy komputer firmowy (w tym mój) ma Zaufany główny urząd certyfikacji, który jest wykorzystywany z różnych powodów, w tym umożliwiając monitorowanie ruchu TLS na https://google.com . Nie jestem pewien, czy to ma z tym coś wspólnego.
Oto zawartość mojego pip.log po uruchomieniu pip install linkchecker
:
Downloading/unpacking linkchecker
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Getting page https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
Cannot fetch index base URL https://pypi.python.org/simple/
URLs to search for versions for linkchecker:
* https://pypi.python.org/simple/linkchecker/
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker
Odpowiedzi:
-----> pip install gensim config --global http.ssl Zweryfikuj fałsz
Wystarczy zainstalować dowolny pakiet za pomocą instrukcji „config --global http.sslVerify false”
Możesz zignorować błędy SSL, ustawiając
pypi.org
ifiles.pythonhosted.org
jako zaufane hosty.Uwaga : Czasem w kwietniu 2018 r Index Pakiet Python zostało przeniesione od
pypi.python.org
celupypi.org
. Oznacza to, że polecenia „zaufanego hosta” używającego starej domeny już nie działają.Permanent Fix
Od czasu wydania pip 10.0 powinieneś być w stanie naprawić to na stałe, poprzez
pip
samo uaktualnienie :Lub po prostu instalując go ponownie, aby uzyskać najnowszą wersję:
(… A następnie działa
get-pip.py
z odpowiednim interpreterem języka Python).pip install <otherpackage>
powinien po tym działać. Jeśli nie, musisz zrobić więcej, jak wyjaśniono poniżej.Możesz dodać zaufane hosty i proxy do pliku konfiguracyjnego .
pip.ini
(Windows) lubpip.conf
(unix)Alternatywne rozwiązania (mniej bezpieczne)
Większość odpowiedzi może stanowić problem bezpieczeństwa.
Dwa obejścia, które pomagają w instalacji większości pakietów Pythona, to:
easy_install <package_name>
. Pamiętaj, że niektóre pakiety nie zostaną znalezione lub będą powodować niewielkie błędy.pip install wheel_package_name.whl
aby zainstalować pakiet.źródło
pip install --trusted-host pypi.python.org pypi_package
. Użycie--verbose
pokazuje, że bez--trusted-host
tego połączenie HTTPS nie powiedzie się, podczas gdy próbuje się tego samego połączenia HTTPS (nie HTTP),--trusted-host
ale się powiedzie.pip install --trusted-host pypi.python.org pythonPackage
Możesz określić certyfikat za pomocą tego parametru:
Zobacz: Dokumenty »Poradnik» pip
Jeśli określenie certyfikatu głównego Twojej firmy nie działa, być może ten CURL będzie działał: http://curl.haxx.se/ca/cacert.pem
Musisz użyć pliku PEM, a nie pliku CRT. Jeśli masz plik CRT, musisz go przekonwertować na PEM. W komentarzach znajdują się raporty, że teraz działa on z plikiem CRT, ale nie zweryfikowałem go.
Sprawdź także: Weryfikacja certyfikatu SSL .
źródło
pip.conf
pliku, aby mieć do nich stałe odwołanie bez podawania poleceniaOdpowiedź kenorba jest bardzo przydatna (i świetna!).
Spośród jego rozwiązań być może jest to najprostsze:
--trusted-host
Na przykład w tym przypadku możesz to zrobić
Plik pem (lub cokolwiek innego) jest niepotrzebny.
źródło
pip list --trusted-host pypi.python.org --outdated
Dla mnie problem został rozwiązany poprzez stworzenie folderu
pip
, z plikiem:pip.ini
wC:\Users\<username>\AppData\Roaming\
np:W środku napisałem:
Zrestartowałem Pythona, a następnie Pip na stałe zaufał tym stronom i użyłem ich do pobrania pakietów.
Jeśli nie możesz znaleźć folderu AppData w systemie Windows, napisz
%appdata%
w eksploratorze plików i powinien on się pojawić.źródło
Odpowiedzi są dość podobne i nieco mylące. W moim przypadku problemem były certyfikaty w sieci mojej firmy. Byłem w stanie obejść ten problem, używając:
Jak widać tutaj . Argument -vvv można pominąć, jeśli pełne dane wyjściowe nie są wymagane
źródło
Permanent Fix
Na przykład:
źródło
Aby rozwiązać ten problem raz na zawsze, możesz sprawdzić, czy masz
pip.conf
plik.Oto, gdzie
pip.conf
powinieneś być, zgodnie z dokumentacją :Wewnątrz virtualenv:
Twój
pip.conf
powinien wyglądać następująco:pip install linkchecker
zainstalowanylinkchecker
bez skarg po utworzeniupip.conf
pliku.źródło
pip
instrukcja obsługi została zaktualizowana od czasu, gdy opublikowałem tę odpowiedź. Zaktualizowałem swoją odpowiedź dla systemu macOS. Czy to pomaga?brew
upewnij się, że używaszpip3
i utwórzpip.conf
jako$HOME/.config/pip/pip.conf
. Pracowałem dla siebieNajprostszym sposobem, jaki znalazłem, jest pobranie i użycie „DigiCert High Assurance EV Root CA” z DigiCert na https://www.digicert.com/digicert-root-certificates.htm#roots
Możesz odwiedzić stronę https://pypi.python.org/, aby zweryfikować wystawcę certyfikatu, klikając ikonę kłódki na pasku adresu lub zwiększyć swój zasób geek za pomocą openssl:
Ostatnia wartość CN w łańcuchu certyfikatów to nazwa urzędu certyfikacji, który należy pobrać.
W celu jednorazowego wysiłku wykonaj następujące czynności:
(ostatni wiersz zakłada, że używasz powłoki bash) przed uruchomieniem pip.
Aby uczynić to wielokrotnego użytku, umieść DigiCertHighAssuranceEVRootCA.crt w popularnym miejscu i wyeksportuj PIP_CERT odpowiednio do ~ / .bashrc.
źródło
Masz następujące możliwości rozwiązania problemu z
CERTIFICATE_VERIFY_FAILED
:--index-url=http://pypi.python.org/simple/
.).Użyj
--cert <trusted.pem>
lubCA_BUNDLE
zmienna, aby określić alternatywny pakiet urzędu certyfikacji.Na przykład możesz przejść do niedziałającego adresu URL z przeglądarki internetowej i zaimportować certyfikat główny do swojego systemu.
Uruchom,
python -c "import ssl; print(ssl.get_default_verify_paths())"
aby sprawdzić bieżący (sprawdź, czy istnieje).SSL_CERT_DIR
,SSL_CERT_FILE
), których można użyć do określenia innej bazy danych certyfikatów PEP-476 .--trusted-host <hostname>
do oznaczania hosta jako zaufanego.verify=False
dlarequests.get
(patrz: Cert Weryfikacja SSL ).--proxy <proxy>
do unikania sprawdzania certyfikatów.Czytaj więcej na: Opakowanie TLS / SSL dla obiektów gniazd - Weryfikowanie certyfikatów .
źródło
Ustaw prawidłową godzinę i datę!
Dla mnie okazało się, że moja data i godzina zostały źle skonfigurowane na Raspberry Pi. W rezultacie wszystkie połączenia SSL i HTTPS nie powiodły się, przy użyciu serwera https://files.pythonhosted.org/ .
Zaktualizuj go w następujący sposób:
Lub bezpośrednio z np. Czasem Google:
Ref .: https://superuser.com/a/635024/935136
źródło
Niedawno natknąłem się na ten problem ze względu na filtr treści WWW mojej firmy, który używa własnego urzędu certyfikacji, aby mógł filtrować ruch SSL. Wydaje się, że PIP nie używa w moim przypadku certyfikatów CA systemu, co powoduje błąd, o którym wspomniałeś. Zmiana PIP na wersję 1.2.1 przedstawiła później swój własny zestaw problemów, więc wróciłem do oryginalnej wersji dostarczonej z Pythonem 3.4.
Moje obejście jest dość proste: użyj
easy_install
. Albo nie sprawdza certyfikatów (jak stara wersja PIP), albo wie, że używa certyfikatów systemowych, ponieważ działa dla mnie za każdym razem i nadal mogę używać PIP do odinstalowywania pakietów zainstalowanych za pomocą easy_install.Jeśli to nie zadziała i możesz uzyskać dostęp do sieci lub komputera, na którym nie ma problemu, zawsze możesz skonfigurować własny osobisty serwer PyPI: jak utworzyć lokalny własny indeks repozytorium pypi bez kopii lustrzanej?
Prawie to zrobiłem, dopóki nie spróbowałem użyć
easy_install
jako ostatniego wysiłku.źródło
pip
użycie go--cert MyCompanyRootCA.crt
.Możesz spróbować ominąć błąd SSL, używając http zamiast https. Oczywiście nie jest to optymalne pod względem bezpieczeństwa , ale jeśli się spieszysz, powinieneś załatwić sprawę:
źródło
Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Odpowiedzi do wykorzystania
praca. Ale musisz sprawdzić, czy są jakieś przekierowania lub
pip
trafienia do pamięci podręcznej . W systemie Windows 7 zpip 9.0.1
musiałem uruchomićMożna je znaleźć z pełną flagą.
źródło
Zainstalowałem pip 1.2.1 z easy_install i zaktualizowałem do najnowszej wersji pip (w tym czasie 6.0.7), która jest w stanie zainstalować pakiety w moim przypadku.
źródło
Masz 4 opcje:
Używanie certyfikatu jako parametru
Korzystanie z certyfikatu w
pip.conf
Utwórz ten plik:
i dodaj te linie:
Ignorowanie certyfikatu i używanie HTTP
Ignorowanie certyfikatu i używanie HTTP w pliku pip.conf
Utwórz ten plik:
i dodaj te linie:
Źródło
źródło
Po pierwsze,
nie działało dla mnie. Wciąż pojawiał się błąd CERTIFICATE_VERIFY_FAILED. Zauważyłem jednak w komunikatach o błędach, że odwołują się do witryny „pypi.org”. Użyłem tego jako zaufanej nazwy hosta zamiast pypi.python.org. To prawie mnie tam doprowadziło; ładowanie nadal nie powiodło się z CERTIFICATE_VERIFY_FAILED, ale w późniejszym momencie. Znajdując odniesienie do strony, która zawiodła, podałem ją jako zaufanego hosta. W końcu zadziałało dla mnie:
źródło
Nie jestem pewien, czy jest to powiązane, ale miałem podobny problem, który został rozwiązany przez skopiowanie tych plików z Anaconda3 / Library / bin do Anaconda3 / DLL:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
źródło
Miał ten sam problem podczas próby korzystania
pip install ftputil
z ActivePython 2.7.8, ActivePython 3.4.1 i „zapasowego” Pythona 3.4.2 na 64-bitowym systemie Windows 7 Enterprise. Wszystkie próby zakończyły się niepowodzeniem z tymi samymi błędami co OP.Rozwiązano problem dotyczący Python 3.4.2, obniżając wersję do pip 1.2.1:
easy_install pip==1.2.1
(patrz https://stackoverflow.com/a/16370731/234235 ). Ta sama poprawka działała również w ActivePython 2.7.8.Błąd zgłoszony w marcu 2013 r. Jest nadal otwarty: https://github.com/pypa/pip/issues/829 .
źródło
Nic na tej stronie nie działało dla mnie, dopóki nie użyłem opcji --verbose, aby przekonać się, że chcę dostać się do files.pythonhosted.org zamiast pypi.python.org:
Więc sprawdź adres URL, który tak naprawdę nie działa, za pomocą opcji --verbose.
źródło
Rozwiązałem ten problem, usuwając mój pip i instalując starszą wersję pipa: https://pypi.python.org/pypi/pip/1.2.1
źródło
include the essential parts of the answer here
ponieważ jest to link do pliku binarnego ...?Możesz spróbować zignorować „https”:
źródło
pip install --trusted-host pypi.python.org --upgrade pip –
Jednym z rozwiązań ( dla systemu Windows ) jest utworzenie pliku wywoływanego
pip.ini
w%AppData%\pip\
folderze (utwórz folder, jeśli nie istnieje) i wstaw następujące informacje:... a następnie możemy wykonać instrukcję instalacji:
Inną opcją jest instalacja pakietu przy użyciu argumentów dla serwera proxy i certyfikatu ...
Aby przekonwertować
*.cer
pliki certyfikatów do wymaganego*.pem
formatu, wykonaj następującą instrukcję:Mam nadzieję, że to komuś pomoże!
źródło
pip3.6 config set global.cert '/<path>/server.crt'
W moim przypadku było to spowodowane podpisaniem certyfikatu SSL przez wewnętrzny urząd certyfikacji mojej firmy. Korzystanie z obejść takich
pip --cert
jak nie pomogło, ale następujący pakiet zrobił:Zobacz: https://pypi.org/project/pip-system-certs/
źródło
pip_system_certs
całkowicie zepsuło moje środowisko Pythona iz tego powodu nie jest to dobra odpowiedź. Nie instaluj pip_system_certs. Aby uzyskać więcej informacji, zobacz stackoverflow.com/questions/27835619/ ...dla mnie dzieje się tak, ponieważ wcześniej uruchamiam skrypt, który ustawia proxy (na skrzypek), ponownie otwiera konsolę lub resetuje, aby naprawić problem.
źródło
Ostatnio spotkałem się z tym samym problemem w Pythonie 3.6 w Visual Studio 2015. Po spędzeniu 2 dni dostałem rozwiązanie i działa dobrze dla mnie.
Wystąpił błąd poniżej podczas próby zainstalowania numpy za pomocą pipa lub ze studia wizualnego Zbieranie numpy Nie można pobrać adresu URL https://pypi.python.org/simple/numpy/ : Wystąpił problem z potwierdzeniem certyfikatu ssl: [SSL: CERTIFICATE_VERIFY_FAILED] weryfikacja certyfikatu nie powiodła się (_ssl.c: 748) - pomijanie Nie można znaleźć wersji spełniającej wymaganie numpy (z wersji:) Nie znaleziono pasującej dystrybucji dla numpy
Rozdzielczość:
Dla systemu operacyjnego Windows
[global]
trust-host = pypi.python.org Zapisz i zamknij plik. Teraz zainstaluj za pomocą pip / visual studio, działa dobrze.
źródło
W moim przypadku uruchomiłem Python na minimalnym obrazie dokera alpejskiego. Brakowało certyfikatów głównego urzędu certyfikacji. Naprawić:
apk update && apk add ca-certificates
źródło
Odpowiedź Vaulsteina pomogła mi.
Nigdzie na komputerze nie znalazłem pliku pip.ini. Podobnie było z następującymi.
Lub po prostu wpisz% AppData% w Eksploratorze Windows.
Utwórz folder o nazwie pip w tym folderze appdata.
W właśnie utworzonym folderze pip utwórz prosty plik tekstowy o nazwie pip.ini
Przeprowadź następujące ustawienia konfiguracji w tym pliku za pomocą prostego edytora do wyboru.
plik pip.ini:
Powinieneś już być gotowy.
źródło
Napotkałem podobny problem. Rozwiązanie, które działało dla mnie 1) odinstaluj python 2.7 2) usuń folder python27 3) zainstaluj ponownie najnowszy python
źródło
Dla mnie żadna z sugerowanych metod nie działała - przy użyciu certyfikatu, HTTP, zaufanego hosta.
W moim przypadku działało przejście na inną wersję pakietu (w tym przypadku paho-mqtt 1.3.1 zamiast paho-mqtt 1.3.0).
Wygląda na to, że problem był specyficzny dla tej wersji pakietu.
źródło
Ten problem może występować, jeśli w systemie brakuje niektórych certyfikatów. Np. Na opensuse install ca-certyfikaty-mozilla
źródło