инсталирането на pip се проваля с "грешка при свързване: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"

Аз съм съвсем нов в Python и се опитвам да > pip install linkchecker на Windows 7. Някои бележки:

  • pip install се проваля независимо от пакета. Например, > pip install scrapy също води до грешка при SSL.
  • Vanilla инсталацията на Python 3.4.1 включва pip 1.5.6. Първото нещо, което се опитах да направя, беше да инсталирам linkchecker. Python 2.7 вече беше инсталиран, той дойде с ArcGIS. Python и Pip не бяха достъпни от командния ред, докато не инсталирах 3.4.1.
  • > pip search linkchecker работи. Може би това се дължи на факта, че pip search не проверява SSL сертификата на сайта'.
  • Аз съм в мрежа на компанията, но не минаваме през прокси сървър, за да достигнем до интернет.
  • Всеки компютър на компанията (включително моят) има доверен коренен удостоверяващ орган, който се използва по различни причини, включително за да се даде възможност за наблюдение на TLS трафика към https://google.com. Не съм сигурен дали това има нещо общо с това.

Ето съдържанието на моя pip.log след стартиране на 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

Можете да посочите сертификат с този параметър:

pip --cert /etc/ssl/certs/FOO_Root_CA.pem install linkchecker

Вижте: Docs » Reference Guide » pip

Ако посочването на коренния сертификат на вашата компания не работи, може би ще работи този на cURL: http://curl.haxx.se/ca/cacert.pem

Трябва да използвате PEM файл, а не CRT файл. Ако имате CRT файл, ще трябва да конвертирате файла в PEM В коментарите има съобщения, че това вече работи с CRT файл, но не съм проверявал.

Също така проверете: SSL Cert Verification.

Коментари (11)

Можете да се опитате да заобиколите грешката при SSL, като използвате http вместо https. Разбира се, това не е оптимално от гледна точка на сигурността**, но ако бързате, би трябвало да свърши работа:

pip install --index-url=http://pypi.python.org/simple/ linkchecker
Коментари (9)

Реших този проблем, като премахнах моя pip и инсталирах по-старата версия на pip: https://pypi.python.org/pypi/pip/1.2.1

Коментари (5)