pip install falla con "error de conexión: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"
Soy muy nuevo en Python y estoy intentando > pip install linkchecker
en Windows 7. Algunas notas:
- pip install está fallando sin importar el paquete. Por ejemplo,
> pip install scrapy
también resulta en el error SSL. - La instalación vainilla de Python 3.4.1 incluía pip 1.5.6. Lo primero que intenté hacer fue instalar linkchecker. Python 2.7 ya estaba instalado, venía con ArcGIS.
python
ypip
no estaban disponibles desde la línea de comandos hasta que instalé la 3.4.1. > pip search linkchecker
funciona. Tal vez sea porque pip search no verifica el certificado SSL del sitio.- Estoy en una red de la empresa pero no pasamos por un proxy para llegar a Internet.
- Cada computadora de la compañía (incluyendo la mía) tiene una Autoridad de Certificados Raíz de Confianza que se usa por varias razones, incluyendo la habilitación del monitoreo del tráfico TLS a https://google.com. No estoy seguro de si eso tiene algo que ver.
Aquí está el contenido de mi pip.log después de ejecutar 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
350
3
Puedes especificar un certificado con este parámetro:
Ver: Docs » Guía de referencia » pip
Si al especificar el certificado raíz de su empresa no funciona, tal vez funcione el de cURL: http://curl.haxx.se/ca/cacert.pem
Debe utilizar un archivo PEM y no un archivo CRT. Si tienes un archivo CRT necesitarás convertir el archivo a PEM Hay informes en los comentarios de que esto ahora funciona con un archivo CRT pero no lo he verificado.
Compruebe también: Verificación de certificados SSL.
Puedes intentar evitar el error SSL utilizando http en lugar de https. Por supuesto, esto no es óptimo en términos de seguridad**, pero si tienes prisa debería servir:
He solucionado este problema eliminando mi pip e instalando la versión más antigua de pip: https://pypi.python.org/pypi/pip/1.2.1