pip įdiegti nepavyksta su "ryšio klaida: [SSL: CERTIFICATE_VERIFY_FAILED] sertifikato patikrinimas nepavyko (_ssl.c:598)"

Esu labai naujas "Python" naudotojas ir bandau > pip install linkchecker "Windows 7" sistemoje. Keletas pastabų:

  • pip install nepavyksta, nepriklausomai nuo paketo. Pavyzdžiui, > pip install scrapy taip pat sukelia SSL klaidą.
  • Vanilinis Python 3.4.1 diegimas apima pip 1.5.6. Pirmas dalykas, kurį bandžiau padaryti, buvo įdiegti linkchecker. Python 2.7 jau buvo įdiegtas, jis buvo pateiktas kartu su ArcGIS. Kol neįdiegiau 3.4.1, python ir pip nebuvo prieinami iš komandinės eilutės.
  • > pip search linkchecker veikia. Galbūt taip yra todėl, kad pip search netikrina svetainės' SSL sertifikato.
  • Esu įmonės tinkle, bet į internetą einame ne per tarpinį serverį.
  • Kiekvienas įmonės kompiuteris (įskaitant ir mano) turi patikimą šakninio sertifikato tarnybą, kuri naudojama dėl įvairių priežasčių, įskaitant galimybę stebėti TLS srautą adresu https://google.com. Nežinau, ar tai kaip nors susiję.

Štai mano pip.log turinys po to, kai paleidau 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

Naudodami šį parametrą galite nurodyti cert:

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

Žr: Docs » Reference Guide » pip

Jei nurodžius jūsų įmonės'šakninį sertifikatą nepavyksta'i, gal tiks cURL: http://curl.haxx.se/ca/cacert.pem

Turite naudoti PEM, o ne CRT failą. Jei turite CRT failą, turėsite konvertuoti failą į PEM Komentaruose yra pranešimų, kad dabar tai veikia su CRT failu, bet aš to nepatikrinau.

Taip pat patikrinkite: SSL Cert Verification.

Komentarai (11)

Galite pabandyti apeiti SSL klaidą naudodami http, o ne https. Žinoma, saugumo požiūriu tai nėra optimalus variantas, bet jei skubate, tai turėtų padėti:

pip install --index-url=http://pypi.python.org/simple/ linkchecker
Komentarai (9)

Šią problemą išsprendžiau pašalindamas savo pip ir įdiegdamas senesnę pip versiją: https://pypi.python.org/pypi/pip/1.2.1.

Komentarai (5)