python - paquetes - instalar pip en windows 10
No se pueden instalar paquetes de Python (15)
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?
Esto funcionó para mí, instalé la última versión de pip y luego instalé la biblioteca ( ciscoconfparse ).
Pip de actualización:
curl https://bootstrap.pypa.io/get-pip.py | sudo /Users/{your user name}/{path to python}/bin/python
Esto funcionó para mí. Agregar sudo antes de python
curl https://bootstrap.pypa.io/get-pip.py |sudo python
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
La siguiente solución funcionó para mí:
curl https://bootstrap.pypa.io/get-pip.py | sudo /Users/{your user name}/{path to python}/bin/python
También actualizó
pip
a la versión 1.10.1
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:
curl https://bootstrap.pypa.io/get-pip.py | python - --user
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 usted (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:
Lib/ssl.py
libs/_ssl.lib
DLLs/_ssl.dll
efectivamente "actualizará" su capa SSL a una que sea compatible; pudimos usar pip nuevamente, incluso para actualizar pip.
O simplemente la biblioteca requerida simplemente no está en el repositorio. Soy un novato en 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 :-).
Para actualizar la versión local utilicé una ligera variante:
brew install python2
Este problema surge si mantiene su pip y paquetes bajo su directorio de inicio como se describe en este resumen .
Para usuarios de Python2 WIN10:
1.Desinstale Python a fondo, incluya todas las carpetas.
2. Obtenga 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á.
Pero si el comando
curl
falla con error, o si la
"versión del protocolo de alerta tlsv1"
persiste incluso después de actualizar
pip
, 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 admiten el protocolo TLS 1.2 más nuevo 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''
AttributeError
(en lugar del esperado ''5'') significa que su módulo Python stdlib
ssl
, 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 .
Tenga en cuenta que
curl
ypip
ywget
dependen de la misma biblioteca OpenSSL para establecer conexiones SSL (use el comando$ openssl version
). libcurl admite TLS 1.2 desde la versión 7.34 curl, pero las versiones anteriores de curl should poder conectarse si tenía OpenSSL versión 1.0.2 (o posterior).PD
Para Python 3 , usepython3
ypip3
todas partes (a menos que esté en un venv / virtualenv), incluido el comandocurl
de above :
$ curl https://bootstrap.pypa.io/get-pip.py | python3 --user
Pip de actualización de la siguiente manera:
curl https://bootstrap.pypa.io/get-pip.py | python
Nota: es posible que deba usar
sudo python
anteriormente si no está en un entorno virtual.
(Tenga en cuenta que actualizar
pip
usando
pip
es decir,
pip install --upgrade pip
actualizar
pip 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:
Completado : los apagones continuos han finalizado y TLSv1.0 y TLSv1.1 se han deshabilitado. 11 de abril, 15:37 UTC
Para usuarios de PyCharm (virtualenv):
-
Ejecutar entorno virtual con shell. (reemplace "./venv/bin/activate" en su propia ruta)
source ./venv/bin/activate
-
Ejecutar actualización
curl https://bootstrap.pypa.io/get-pip.py | python
-
Reinicie su instancia de PyCharm y verifique su intérprete de Python en Preferencia .
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 paquetes debido a un error de entorno: [Errno 13] Permiso denegado: ...
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 localmente el paquete:
pip install ./pip-9.0.3/
Esto solucionó mis errores
[SSL: TLSV1_ALERT_PROTOCOL_VERSION]
.
También llegué a este problema en mi Windows10 e intenté todas las respuestas pero no resolví mi problema.
C: / python367 / Scripts> pip install Flask
Recopilación de Flask No se pudo encontrar una versión que satisfaga el requisito Flask (de las versiones:) No se encontró una distribución coincidente para Flask
Después de eso, encuentro que el archivo de configuración de pip había sido modificado.
Entonces, configuré el
pip.ini
como la configuración predeterminada original, volví a ejecutar el comando pip y ¡funciona para mí!
En resumen de la solución mía:
-
Verifique que el pip.ini (generalmente bajo la ruta
C:/ProgramData/pip
) haya sido modificado; -
En caso afirmativo en el paso 1, intente restablecerlo a una configuración predeterminada.
Verifique su versión de TLS:
python2 -c "import urllib2,json; print(json.loads(urllib2.urlopen(''https://www.howsmyssl.com/a/check'').read())[''tls_version''])"
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:
sudo apt-get update && sudo apt-get install openssl libssl-dev
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
myenv:
Python 2.7.14
pip 9.0.1
mac osx 10.9.4
mi solución:
-
descargue
get-pip.py
manualmente desde https://packaging.python.org/tutorials/installing-packages/ -
ejecuta
python get-pip.py
refs:
https://github.com/pypa/warehouse/issues/3293#issuecomment-378468534
https://packaging.python.org/tutorials/installing-packages/
Descargar de forma segura get-pip.py [1]
Ejecute python get-pip.py. [2] Esto instalará o actualizará pip. Además, instalará las herramientas de configuración y la rueda si aún no están instaladas.
Asegúrese de que el pip, las herramientas de configuración y la rueda estén actualizados
Si bien pip solo es suficiente para instalar desde archivos binarios preconstruidos, las copias actualizadas de las herramientas de configuración y los proyectos de rueda son útiles para garantizar que también pueda instalar desde archivos fuente:
python -m pip install --upgrade pip setuptools wheel