Soy muy nuevo en Python y estoy intentando hacerlo > pip install linkchecker
en Windows 7. Algunas notas:
- la instalación de pip falla, sin importar el paquete. Por ejemplo,
> pip install scrapy
también da como resultado el error SSL. - La instalación de Vanilla de Python 3.4.1 incluyó pip 1.5.6. Lo primero que intenté hacer fue instalar linkchecker. Python 2.7 ya estaba instalado, vino con ArcGIS.
python
ypip
no estaban disponibles desde la línea de comando hasta que instalé 3.4.1. > pip search linkchecker
trabajos. Quizás eso se deba a que la búsqueda de pip no verifica el certificado SSL del sitio.- Estoy en la red de una empresa pero no pasamos por un proxy para llegar a Internet.
- Cada computadora de la empresa (incluida la mía) tiene una Autoridad de certificación raíz de confianza que se utiliza por varias razones, incluida la habilitación de la supervisión del tráfico TLS a https://google.com . No estoy seguro si eso tiene algo que ver con eso.
Aquí están los contenidos 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
Respuestas:
-----> pip install gensim config --global http.sslVerify false
Simplemente instale cualquier paquete con la declaración "config --global http.sslVerify false"
Puede ignorar los errores de SSL configurando
pypi.org
yfiles.pythonhosted.org
como hosts de confianza.Nota : En algún momento durante abril de 2018, el índice del paquete Python se migró de
pypi.python.org
apypi.org
. Esto significa que los comandos de "host de confianza" que usan el dominio anterior ya no funcionan.Arreglo permanente
Desde el lanzamiento de pip 10.0, debería poder solucionarlo de forma permanente simplemente actualizándose
pip
:O simplemente reinstalando para obtener la última versión:
(... y luego se ejecuta
get-pip.py
con el intérprete de Python relevante).pip install <otherpackage>
debería funcionar después de esto. De lo contrario, deberá hacer más, como se explica a continuación.Es posible que desee agregar los hosts de confianza y el proxy a su archivo de configuración .
pip.ini
(Windows) opip.conf
(unix)Soluciones alternativas (menos seguras)
La mayoría de las respuestas podrían plantear un problema de seguridad.
Dos de las soluciones alternativas que ayudan a instalar la mayoría de los paquetes de Python con facilidad serían:
easy_install <package_name>
. Tenga en cuenta que algunos paquetes no se encontrarán o darán pequeños errores.pip install wheel_package_name.whl
para instalar el paquete.fuente
pip install --trusted-host pypi.python.org pypi_package
. El uso--verbose
muestra que sin--trusted-host
, la conexión HTTPS falla, mientras que se intenta la misma conexión HTTPS (no HTTP) con--trusted-host
pero tiene éxito.pip install --trusted-host pypi.python.org pythonPackage
Puede especificar un certificado con este parámetro:
Ver: Documentos »Guía de referencia» pip
Si la especificación del certificado raíz de su empresa no funciona, tal vez cURL sí: http://curl.haxx.se/ca/cacert.pem
Debe usar un archivo PEM y no un archivo CRT. Si tiene un archivo CRT, necesitará convertir el archivo a PEM. Hay informes en los comentarios que ahora funcionan con un archivo CRT pero no lo he verificado.
Verifique también: Verificación del certificado SSL .
fuente
pip.conf
archivo para hacer referencia a ellas permanentemente sin especificar el comandoLa respuesta de kenorb es muy útil (¡y genial!).
Entre sus soluciones, quizás esta sea la más simple:
--trusted-host
Por ejemplo, en este caso puedes hacer
El archivo pem (o cualquier otra cosa) es innecesario.
fuente
pip list --trusted-host pypi.python.org --outdated
Para mí, el problema se solucionó creando una carpeta
pip
, con un archivo:pip.ini
porC:\Users\<username>\AppData\Roaming\
ejemplo, en :En su interior escribí:
Reinicié Python, y luego pip confió permanentemente en estos sitios, y los usé para descargar paquetes.
Si no puede encontrar la carpeta AppData en Windows, escriba
%appdata%
en el explorador de archivos y debería aparecer.fuente
Las respuestas son bastante similares y un poco confusas. En mi caso, los certificados en la red de mi empresa eran el problema. Pude solucionar el problema usando:
Como se ve aquí . El argumento -vvv se puede omitir si no se requiere una salida detallada
fuente
Arreglo permanente
Por ejemplo:
fuente
Para resolver este problema de una vez por todas, puede verificar que tiene un
pip.conf
archivo.Aquí es donde
pip.conf
debe estar, de acuerdo con la documentación :Dentro de un virtualenv:
Tu
pip.conf
debería verse así:pip install linkchecker
instaladolinkchecker
sin quejas después de crear elpip.conf
archivo.fuente
pip
guía del usuario se ha actualizado desde que publiqué esta respuesta. Actualicé mi respuesta para macOS. ¿Ayuda?brew
, asegúrese de estar usandopip3
y cree elpip.conf
como$HOME/.config/pip/pip.conf
. Trabajé para mi.La forma más sencilla que he encontrado es descargar y utilizar el "DigiCert High Assurance EV Root CA" de DigiCert en https://www.digicert.com/digicert-root-certificates.htm#roots
Puede visitar https://pypi.python.org/ para verificar el emisor del certificado haciendo clic en el icono del candado en la barra de direcciones, o aumentar su credibilidad geek usando openssl:
El último valor CN en la cadena de certificados es el nombre de la CA que necesita descargar.
Para un esfuerzo único, haga lo siguiente:
(la última línea supone que está utilizando el shell bash) antes de ejecutar pip.
Para que esto sea reutilizable, coloque DigiCertHighAssuranceEVRootCA.crt en algún lugar común y exporte PIP_CERT en consecuencia en su ~ / .bashrc.
fuente
Tiene las siguientes posibilidades para resolver problemas con
CERTIFICATE_VERIFY_FAILED
:--index-url=http://pypi.python.org/simple/
).Use
--cert <trusted.pem>
oCA_BUNDLE
variable para especificar un paquete CA alternativo.Por ejemplo, puede ir a la URL que falla desde el navegador web e importar el certificado raíz en su sistema.
correr
python -c "import ssl; print(ssl.get_default_verify_paths())"
para verificar el actual (validar si existe).SSL_CERT_DIR
,SSL_CERT_FILE
) que se pueden usar para especificar diferentes bases de datos de certificados PEP-476 .--trusted-host <hostname>
para marcar el host como confiable.verify=False
pararequests.get
(ver: Verificación del certificado SSL ).--proxy <proxy>
para evitar verificaciones de certificados.Obtenga más información en: contenedor TLS / SSL para objetos de socket: verificación de certificados .
fuente
¡Ajuste la hora y la fecha correctas!
Para mí, resultó que mi fecha y hora estaban mal configuradas en Raspberry Pi. El resultado fue que todas las conexiones SSL y HTTPS fallaron, usando https://files.pythonhosted.org/ servidor .
Actualízalo así:
O directamente con, por ejemplo, el tiempo de Google:
Ref .: https://superuser.com/a/635024/935136
fuente
Recientemente me encontré con este problema debido al filtro de contenido web de mi empresa que utiliza su propia Autoridad de certificación para que pueda filtrar el tráfico SSL. PIP no parece estar usando los certificados de CA del sistema en mi caso, produciendo el error que usted menciona. La degradación de PIP a la versión 1.2.1 presentó su propio conjunto de problemas más adelante, así que volví a la versión original que venía con Python 3.4.
Mi solución es bastante simple: uso
easy_install
. O no verifica los certificados (como la versión anterior de PIP), o sabe usar los certificados del sistema porque me funciona todo el tiempo y todavía puedo usar PIP para desinstalar paquetes instalados con easy_install.Si eso no funciona y puede obtener acceso a una red o computadora que no tiene el problema, siempre puede configurar su propio servidor PyPI personal: ¿cómo crear un índice de repositorio pypi local sin espejo?
Casi lo hice hasta que intenté usarlo
easy_install
como último esfuerzo.fuente
pip
que lo use--cert MyCompanyRootCA.crt
.Puede intentar evitar el error SSL utilizando http en lugar de https. Por supuesto, esto no es óptimo en términos de seguridad , pero si tiene prisa, debería ser el truco:
fuente
Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Las respuestas a usar
trabajo. Pero tendrá que verificar si hay redireccionamientos o cachés
pip
está llegando. En Windows 7 conpip 9.0.1
, tuve que ejecutarPuede encontrarlos con la bandera detallada.
fuente
Instalé pip 1.2.1 con easy_install y actualicé a la última versión de pip (6.0.7 en ese momento) que puede instalar paquetes en mi caso.
fuente
Tienes 4 opciones:
Usando un certificado como parámetro
Usar un certificado en un
pip.conf
Crea este archivo:
y agregue estas líneas:
Ignorando el certificado y usando HTTP
Ignorando el certificado y usando HTTP en un pip.conf
Crea este archivo:
y agregue estas líneas:
Fuente
fuente
Ante todo,
no funciono para mi Seguí recibiendo el error CERTIFICATE_VERIFY_FAILED. Sin embargo, noté en los mensajes de error que hacían referencia al sitio 'pypi.org'. Entonces, usé esto como el nombre de host de confianza en lugar de pypi.python.org. Eso casi me llevó allí; la carga seguía fallando con CERTIFICATE_VERIFY_FAILED, pero en un momento posterior. Al encontrar la referencia al sitio web que estaba fallando, lo incluí como un host de confianza. Lo que finalmente funcionó para mí fue:
fuente
No estoy seguro de si esto está relacionado, pero tuve un problema similar que se solucionó copiando estos archivos de Anaconda3 / Library / bin a Anaconda3 / DLL:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
fuente
Tuve el mismo problema al intentar
pip install ftputil
con ActivePython 2.7.8, ActivePython 3.4.1 y Python 3.4.2 "stock" en Windows 7 Enterprise de 64 bits. Todos los intentos fallaron con los mismos errores que OP.Se solucionó el problema de Python 3.4.2 bajando a pip 1.2.1:
easy_install pip==1.2.1
(consulte https://stackoverflow.com/a/16370731/234235 ). La misma corrección también funcionó para ActivePython 2.7.8.El error, reportado en marzo de 2013, aún está abierto: https://github.com/pypa/pip/issues/829 .
fuente
Nada en esta página funcionó para mí hasta que usé la opción --verbose para ver que quería acceder a files.pythonhosted.org en lugar de pypi.python.org:
Así que verifique la URL en la que realmente está fallando a través de la opción --verbose.
fuente
Resolví este problema eliminando mi pip e instalando la versión anterior de pip: https://pypi.python.org/pypi/pip/1.2.1
fuente
include the essential parts of the answer here
ya que es un enlace a un archivo binario ...?Puedes probar esto para ignorar "https":
fuente
pip install --trusted-host pypi.python.org --upgrade pip –
Una solución ( para Windows ) es crear un archivo llamado
pip.ini
en la%AppData%\pip\
carpeta (cree la carpeta si no existe) e inserte los siguientes detalles:... y luego podemos ejecutar la instrucción de instalación:
Otra opción es instalar el paquete usando argumentos para el proxy y el certificado ...
Para convertir los
*.cer
archivos de certificado al*.pem
formato requerido , ejecute las siguientes instrucciones:¡Espero que esto ayude a alguien!
fuente
pip3.6 config set global.cert '/<path>/server.crt'
En mi caso, se debió a que el certificado SSL fue firmado por la CA interna de mi empresa. El uso de soluciones alternativas
pip --cert
no ayudó, pero el siguiente paquete sí:Ver: https://pypi.org/project/pip-system-certs/
fuente
pip_system_certs
rompió por completo mi entorno de Python y, por esa razón, esta no es una buena respuesta. No instale pip_system_certs. Consulte stackoverflow.com/questions/27835619/… para obtener más información.para mí esto se debe a que anteriormente estoy ejecutando un script que establece el proxy (en fiddler), reabrir la consola o reiniciar soluciona el problema.
fuente
Recientemente me enfrenté al mismo problema en Python 3.6 con Visual Studio 2015. Después de pasar 2 días, obtuve la solución y está funcionando bien para mí.
Obtuve el siguiente error al intentar instalar numpy usando pip o desde Visual Studio Recopilar numpy No se pudo obtener la URL https://pypi.python.org/simple/numpy/ : Hubo un problema al confirmar el certificado SSL: [SSL: CERTIFICATE_VERIFY_FAILED] falló la verificación del certificado (_ssl.c: 748) - omitiendo No se pudo encontrar una versión que satisfaga el requisito numpy (de versiones:) No se encontró una distribución coincidente para numpy
Resolución:
Para el sistema operativo Windows
[global]
Trusted-host = pypi.python.org Guarde y cierre el archivo. Ahora instale usando pip / visual studio, funciona bien.
fuente
En mi caso, estaba ejecutando Python en la imagen mínima de acoplador alpino. Faltaban los certificados raíz de CA. Reparar:
apk update && apk add ca-certificates
fuente
La respuesta de Vaulstein me ayudó.
No encontré el archivo pip.ini en ninguna parte de mi PC. Lo mismo hizo lo siguiente.
O simplemente escriba% AppData% en Windows Explorer.
Cree una carpeta llamada pip dentro de esa carpeta de datos de aplicación.
En esa carpeta pip que acaba de crear, cree un archivo de texto simple llamado pip.ini
Pase los siguientes ajustes de configuración en ese archivo usando un editor simple de su elección.
Archivo pip.ini:
Ahora deberías estar listo para irte.
fuente
Me enfrenté a un problema similar. La solución que funcionó para mí 1) desinstalar python 2.7 2) eliminar la carpeta python27 3) reinstalar la última python
fuente
Para mí, ninguno de los métodos sugeridos funcionó: usar cert, HTTP, host de confianza.
En mi caso, el cambio a una versión diferente del paquete funcionó (paho-mqtt 1.3.1 en lugar de paho-mqtt 1.3.0 en este caso).
Parece que el problema era específico de esa versión del paquete.
fuente
Puede tener este problema si faltan algunos certificados en su sistema, por ejemplo, en opensuse install ca-certificate-mozilla
fuente