Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

524
Views
No se pueden instalar paquetes de Python [SSL: TLSV1_ALERT_PROTOCOL_VERSION]

Estoy tratando de instalar una biblioteca de Python usando pip y obtengo un error de SSL:

 ~/projects/base  pre-master± pip install xdict Collecting xdict Could not fetch URL https://pypi.python.org/simple/xdict/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping Could not find a version that satisfies the requirement xdict (from versions: ) No matching distribution found for xdict

versión pip: pip 9.0.1

¿Cómo soluciono este error?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Actualice pip de la siguiente manera:

 curl https://bootstrap.pypa.io/get-pip.py | python

Nota: Es posible que deba usar sudo python arriba si no está en un entorno virtual.

(Tenga en cuenta que actualizar pip usando pip , es decir, pip install --upgrade pip tampoco lo actualizará correctamente. Es solo un problema del huevo y la gallina. pip no funcionará a menos que use TLS >= 1.2.)

Como se menciona en esta respuesta detallada , esto se debe a la desaprobación reciente de TLS para pip. Los sitios de Python.org han dejado de admitir las versiones 1.0 y 1.1 de TLS.

Desde la página de estado de Python:

Completado : las caídas de tensión continuas terminaron y TLSv1.0 y TLSv1.1 se deshabilitaron. 11 de abril, 15:37 UTC


Para usuarios de PyCharm (virtualenv):

  1. Ejecute un entorno virtual con shell. (reemplace "./venv/bin/activate" por su propia ruta)

     source ./venv/bin/activate
  2. Ejecutar actualización

     curl https://bootstrap.pypa.io/get-pip.py | python
  3. Reinicie su instancia de PyCharm y verifique su intérprete de Python en Preference .

over 4 years ago · Santiago Trujillo Report

0

Pero si el comando curl en sí mismo falla con un error, o la "versión del protocolo de alerta tlsv1" persiste incluso después de actualizar pip , significa que la versión de la biblioteca OpenSSL subyacente de su sistema operativo < 1.0.1 o la versión de Python < 2.7.9 (o < 3.4 en Python 3 ) no son compatibles con el nuevo protocolo TLS 1.2 que pip necesita para conectarse a PyPI desde hace aproximadamente un año . Puede verificarlo fácilmente en el intérprete de Python:

 >>> import ssl >>> ssl.OPENSSL_VERSION 'OpenSSL 0.9.8o 01 Jun 2010' >>> ssl.PROTOCOL_TLSv1_2 AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'

El AttributeError (en lugar del '5' esperado) significa que su módulo Python stdlib ssl , compilado contra la antigua lib de openssl, carece de soporte para el protocolo TLSv1.2 (incluso si la biblioteca de openssl puede o podría actualizarse más adelante).

Afortunadamente, se puede resolver sin actualizar Python (y todo el sistema), instalando manualmente paquetes adicionales de Python; la guía detallada paso a paso está disponible aquí en Stackoverflow .

Tenga en cuenta que curl , pip y wget dependen de la misma biblioteca OpenSSL para establecer conexiones SSL (use el comando $ openssl version ). libcurl admite TLS 1.2 desde curl versión 7.34 , pero las versiones anteriores de curl deberían poder conectarse si tenía OpenSSL versión 1.0.2 (o posterior).


PD
Para Python 3 , use python3 y pip3 todas partes (a menos que esté en un venv/virtualenv), incluido el comando curl de arriba :
$ curl https://bootstrap.pypa.io/get-pip.py | python3 --user

over 4 years ago · Santiago Trujillo Report

0

Seguir la respuesta de @Anupam en OS X resultó en el siguiente error para mí, independientemente de los permisos con los que lo ejecuté:

No se pudieron instalar los paquetes debido a un EnvironmentError: [Errno 13] Permiso denegado: ...

Lo que finalmente funcionó fue descargar un paquete pip más nuevo (9.0.3) de PyPI directamente desde mi navegador: https://pypi.org/simple/pip/ , extraer el contenido y luego instalar pip el paquete localmente:

 pip install ./pip-9.0.3/

Esto solucionó mis errores [SSL: TLSV1_ALERT_PROTOCOL_VERSION] .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!