pip install mislukt met "verbindingsfout: [SSL: CERTIFICATE_VERIFY_FAILED] certificaat verificatie mislukt (_ssl.c:598)"

Ik ben erg nieuw met Python en probeer > pip install linkchecker op Windows 7. Enkele opmerkingen:

  • pip install mislukt, ongeacht het pakket. Bijvoorbeeld, > pip install scrapy resulteert ook in de SSL-fout.
  • Vanilla installatie van Python 3.4.1 bevatte pip 1.5.6. Het eerste wat ik probeerde te doen was linkchecker installeren. Python 2.7 was al geïnstalleerd, het werd geleverd met ArcGIS. python en pip waren niet beschikbaar vanaf de opdrachtregel totdat ik 3.4.1 installeerde.
  • > pip search linkchecker werkt. Misschien komt dat omdat pip search het SSL-certificaat van de site niet verifieert.
  • Ik zit in een bedrijfsnetwerk maar we gaan niet via een proxy om het Internet te bereiken.
  • Elke bedrijfscomputer (ook de mijne) heeft een Trusted Root Certificate Authority die om verschillende redenen wordt gebruikt, waaronder het mogelijk maken van het monitoren van TLS verkeer naar https://google.com. Ik weet niet zeker of dat er iets mee te maken heeft.

Hier is de inhoud van mijn pip.log na het uitvoeren van 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

Je kunt een cert specificeren met deze param:

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

Zie: Docs » Reference Guide » pip

Als het specificeren van uw bedrijf's root cert niet'werkt misschien de cURL een zal werken: http://curl.haxx.se/ca/cacert.pem

U moet een PEM bestand gebruiken en geen CRT bestand. Als je een CRT bestand hebt moet je het bestand omzetten naar PEM Er zijn meldingen in de commentaren dat dit nu werkt met een CRT bestand maar ik heb het niet geverifieerd.

Controleer ook: SSL Certificatie Verificatie.

Commentaren (11)

U kunt proberen de SSL-fout te omzeilen door http te gebruiken in plaats van https. Natuurlijk is dit niet optimaal in termen van veiligheid, maar als u haast heeft zou het moeten werken:

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

Ik heb dit probleem opgelost door mijn pip te verwijderen en de oudere versie van pip te installeren: https://pypi.python.org/pypi/pip/1.2.1

Commentaren (5)