Estoy tratando de instalar una biblioteca Python usando pip
, obteniendo un error 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 de pip: pip 9.0.1
¿Cómo soluciono este error?
python
python-2.7
pip
ssl-certificate
Nishant Nawarkhede
fuente
fuente
Respuestas:
Pip de actualización de la siguiente manera:
Nota: es posible que deba usar lo
sudo python
anterior si no está en un entorno virtual.(Tenga en cuenta que la actualización
pip
usando,pip
es decirpip install --upgrade pip
, tampoco lo actualizará correctamente. Es solo un problema de gallina y huevo.pip
No funcionará a menos que use TLS> = 1.2.)Como se menciona en esta respuesta detallada , esto se debe a la reciente depreciación 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:
Para usuarios de PyCharm (virtualenv):
Ejecutar entorno virtual con shell. (reemplace "./venv/bin/activate" en su propia ruta)
Ejecutar actualización
Reinicie su instancia de PyCharm y verifique su intérprete de Python en Preferencia .
fuente
sudo
al frente debido a errores de permiso denegado. ¡Gracias!curl https://bootstrap.pypa.io/get-pip.py | sudo python
sudo
si no en un entorno virtual. Agregó ese bit también en la respuesta ahora.curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3
Pero si el
curl
comando en sí falla con un error, o si la "versión del protocolo de alerta tlsv1" persiste incluso después de la actualizaciónpip
, significa que la versión de biblioteca de OpenSSL subyacente <1.0.1
o la versión de Python <2.7.9
(o <3.4
en Python 3) no son compatibles con el protocolo TLS 1.2 más reciente quepip
necesita conectarse a PyPI desde hace aproximadamente un año . Puede verificarlo fácilmente en el intérprete de Python:El
AttributeError
(en lugar del esperado '5') significa que sussl
módulo stdlib de Python , compilado contra el antiguo openssl lib, carece de soporte para el protocolo TLSv1.2 (incluso si la biblioteca 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 .
fuente
pip3
, no solopip
: ¡compruebe la versión con el comando-V
para asegurarse de que está ejecutando el pip correcto!Seguir la respuesta de @ Anupam en OS X resultó en el siguiente error para mí, independientemente de los permisos con los que lo ejecuté:
Lo que finalmente funcionó fue descargar un paquete pip más nuevo (9.0.3) desde PyPI directamente desde mi navegador: https://pypi.org/simple/pip/ , extraer el contenido y luego instalar pip el paquete localmente:
Esto solucionó mis
[SSL: TLSV1_ALERT_PROTOCOL_VERSION]
errores.fuente
La solución de @Anupam funcionó para mí. Sin embargo, tuve que usar
sudo
y especificar la ubicación exacta de mi entorno virtual de Python:fuente
Para actualizar la versión local utilicé una ligera variante:
Este problema surge si mantiene su pip y paquetes bajo su directorio de inicio como se describe en este resumen .
fuente
La siguiente solución funcionó para mí:
También se actualizó
pip
a la versión 1.10.1fuente
Verifique su versión de TLS:
Si su versión de TLS es inferior a 1.2, debe actualizarla ya que el repositorio de PyPI se encuentra en un período de caída de la capacidad de desvalorización de TLS temprana.
Fuente: es hora de actualizar su Python: TLS v1.2 pronto será obligatorio
Puede actualizar la versión de TLS con el siguiente comando:
Esto debería solucionar tu problema. ¡Buena suerte!
EDITAR: puede descargar paquetes utilizando su propio repositorio privado de paquetes de Python, independientemente de la versión de TLS. Depósito privado de paquetes de Python
fuente
Esto funcionó para mí. Agregar sudo antes de python
fuente
Para usuarios de Python2 WIN10:
1. Desinstale Python a fondo, incluya todas las carpetas.
2. Busque e instale el último python-2.7.msi (ver 2.7.15)
3. Después del paso 2, es posible que pip también se haya instalado.
4. Ahora, si su sistema no ha cambiado, puede usar pip para instalar paquetes ahora. La "versión del protocolo de alerta tlsv1" no aparecerá.
fuente
Intenté todas las soluciones existentes y no funcionó para mí.
Vuelvo a instalar Python 2.7 (también instalaré pip) descargando .pkg en https://www.python.org/downloads/mac-osx/
funciona para mí después de la instalación descargada paquete
fuente
Me encontré con este problema también. El problema subyacente es que la biblioteca ssl en Python 2.7 versiones <2.7.9 ya no es compatible con el mecanismo pip.
Si está ejecutando en Windows y (como nosotros) no puede actualizar fácilmente desde una versión incompatible de 2.7, FWIW, descubrí que si copia los siguientes archivos desde otra instalación de la última versión de Python (por ejemplo, Python 2.7. 15) en otra máquina para su instalación:
efectivamente "actualizará" su capa SSL a una que sea compatible; pudimos usar pip nuevamente, incluso para actualizar pip.
fuente
Las respuestas de instalar pip a través de:
curl https://bootstrap.pypa.io/get-pip.py |sudo python
ocurl https://bootstrap.pypa.io/get-pip.py | python
no funcionó para mí, ya que seguía recibiendo el error:
Tuve que instalar
pip
manualmente a través de:pip
distribucióntar.gz
versióncd
en el directoriopython setup.py install
fuente
Esto funcionó para mí, instalé la última versión de pip y luego instalé la biblioteca ( ciscoconfparse ).
Pip de actualización:
fuente
myenv:
Python 2.7.14
pip 9.0.1
mac osx 10.9.4
mi solución:
Descargar
get-pip.py
manualmente desde https://packaging.python.org/tutorials/installing-packages/correr
python get-pip.py
referencias:
https://github.com/pypa/warehouse/issues/3293#issuecomment-378468534
https://packaging.python.org/tutorials/installing-packages/
fuente
También encontré este problema en mi Windows10 e intenté todas las respuestas, pero no resolví mi problema.
Después de eso, encuentro que el archivo de configuración de pip había sido modificado. Entonces, configuré la
pip.ini
configuración predeterminada original, volví a ejecutar el comando pip y ¡funciona para mí!En resumen de la solución mía:
Verifique que pip.ini (generalmente debajo de la ruta
C:\ProgramData\pip
) haya sido modificado;En caso afirmativo en el paso 1, intente restablecerlo a una configuración predeterminada.
fuente
O simplemente la biblioteca requerida simplemente no está en el repositorio. Soy un novato de Python y todos los consejos sobre la actualización de pip finalmente se muestran como engañosos. Solo tenía que buscar en https://pypi.org/ , encontrar que la biblioteca (flujo de aire en mi caso) se detuvo en alguna versión antigua, después de lo cual fue renombrada. Sí, también esa solución tonta también es posible :-).
fuente
Para todos los usuarios
python3
ypip3
por ahí:y luego asuma que quiere instalar pandas
fuente