python - pip ssl certificate_verify_failed
Mac OSX python ssl.SSLError:[SSL: CERTIFICATE_VERIFY_FAILED] verificación de certificado fallida(_ssl.c: 749) (4)
Cuando ejecuta el instalador de Python, le muestran esta información.
También está documentado en
/Applications/Python 3.6/ReadMe.rtf
, pero se pasa por alto fácilmente.
Simplemente vaya a
Applications/Python 3.6
y haga doble clic en
Install Certificates.command
Hay un problema en el rastreador de errores de Python sobre esto. http://bugs.python.org/issue29480
Actualización: este problema está marcado como resuelto en el rastreador de errores, siendo este comentario el último:
Para 3.7.0b2, he tratado de hacer las cosas más obvias de dos maneras. Uno, el paquete del instalador ahora intentará abrir una ventana del Finder para la carpeta / Application / Python 3.7 que contiene el "Instalar Certificados.command". Dos, en lugar de un mensaje genérico de "instalación completa" al final de la instalación, ahora hay un mensaje personalizado que insta al usuario a hacer clic en el icono "Instalar certificados.command".
Muchas operaciones en python requieren acceder a cosas a través de https. Esto incluye la instalación de pip, o simplemente usando http.client.HTTPSConnection, o cualquier módulo o aplicación que use estas cosas internamente.
Si python se instaló desde el instalador oficial de python pkg, descargado de https://python.org , entonces usa una versión interna de openssl y no contiene certificados raíz. Cualquier cosa que use una conexión SSL da como resultado este error:
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
¿Cómo puedo instalar certificados raíz para que el error anterior desaparezca?
Me enfrenté al mismo problema cuando intenté ejecutar Python con la carga de datos de Keras. El error para mí fue:
Exception: URL fetch failure on AWS_URL: None -- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)
Solucioné mi problema actualizando el certificado como:
pip install --upgrade certifi
Si está utilizando el buscador abierto de macOS y vaya a la carpeta Aplicaciones> Python3.7 (o cualquier versión de Python que esté usando)> haga doble clic en el archivo "Instalar certificados.command".
Una forma económica de evitar esto es simplemente usar python3.5 si aún lo tiene instalado.
Empujando a PyPI:
python3.5 setup.py register -r pypitest
python3.5 setup.py sdist upload -r pypitest
pipping parece funcionar bien con 3.6 fuera de la caja.