pip está configurado con ubicaciones que requieren TLS / SSL, sin embargo, el módulo ssl en Python no está disponible


216

Estoy usando Python3.6, cuando intento instalar "módulos" usando pip3, me enfrento al problema mencionado a continuación "pip está configurado con ubicaciones que requieren TLS / SSL, sin embargo, el módulo ssl en Python no está disponible"


1
¿sistema operativo?
ZiTAL


1
El sistema operativo es Oracle Linux 7.x
Santosh Kumar G

1
¿Instalaste pip desde el administrador de paquetes? Si instaló la compilación, primero instale libssl-devo instale SSL desde pip pip install ssl stackoverflow.com/questions/41098252/…
ZiTAL

37
@ZiTAL pipno funciona porque ssly pides instalar ssl, con pip :)
Ramazan Polat

Respuestas:


191

Para Windows 10 si desea usar pip en cmd normal, no solo en el indicador de Anaconda. necesita agregar 3 rutas de entorno. como los siguientes:

D:\Anaconda3; 
D:\Anaconda3\Scripts; 
D:\Anaconda3\Library\bin 

la mayoría de las personas solo agregan D: \ Anaconda3 \ Scripts;


1
Gracias, agregué D: \ Anaconda3 \ Library \ bin y funciona, por cierto, libssl-1_1-x64.dll está en esa carpeta. (win10x64, python 3.7)
apet

cuando agrega esos tres en su camino, cierre el cmd, regrese a él e intente nuevamente, debería funcionar.
user3568896

¿Qué quieres decir con rutas ambientales? ¿te refieres a la variable de entorno PATH? Además, no tengo esas carpetas en mi unidad D, ¿se supone que deben crearse cuando instalo Anaconda?
Amit Raz

Un también para Windows 8.1
Antoine

1
Esto NO funciona si uno no está usando Anaconda. He experimentado este problema con las instalaciones OSGeo4W64 y QGIS 3.10.2. Agregar lo que creo que son las rutas correctas a la variable PATH no soluciona el problema (por ejemplo:) C:\Program Files\QGIS 3.10\apps\Python37\Scripts.
CNIDog

185

MAC OS

Tuve el mismo problema en Mac OS (Mojave) y resolví el problema como se menciona en este enlace: problema de Openssl .

  1. Si no tiene Homebrew o no sabe qué es Homebrew:

    / usr / bin / ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

  2. O si ya tienes instalado Homebrew:

brew update && brew upgrade
brew uninstall --ignore-dependencies openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

Actualización: Tenga en cuenta que tuve que usar --ignore-dependenciesflag, porque se instalaron otros paquetes que dependen de OpenSSL.

Adicional si el problema es causado después de usar pyenv , puede solucionarlo usando:

brew reinstall python

55
Después de instalar otra Python versión, pip se rompió. Esta solución me ayudó a reparar.
iMitwe

15
¿por qué github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb también se agrega como una dependencia? :) Creo que debería eliminarse ya que no tiene ninguna relación y es potencialmente inseguro
Marque

1
Entiendo que podría ser un riesgo de seguridad, pero todos los usuarios han pedido usar el paquete a través del enlace oficial del paquete: github.com/kelaberetiv/TagUI/issues/635
Vaulstein

1
@Vaulstein Ahora que lo mencionas. Creo que instalé algunos paquetes usando brew también antes de que esto se rompiera. Fue gpg.
adicto

3
Después de actualizar de Mojavea Catalina, golpeé esto. Solo necesitaba brew update && brew upgradeque volviera a funcionar. ¡Gracias por el consejo!
rustyMagnet

35

Para los usuarios de Debian, lo siguiente puede ser útil:

sudo -s

apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.5 libgdm-dev libdb4o-cil-dev libpcap-dev

Luego cd a la carpeta con el código fuente de la biblioteca Python 3.X y ejecute:

./configure
make
make install

@MehmetKurtipek, edité la respuesta para aclarar un paso. Si esto todavía no ayuda, por favor aclare su problema
Rafael B

55
Resultó que Python3.7 tiene buenos problemas junto con Ubuntu 14.04 y versiones anteriores. El paquete SSL mínimo requerido para Python3.7 no es compatible con el antiguo ubuntus. Así que gracias por editar :)
Mehmet Kurtipek

@MehmetKurtipek Mi servidor es 1404. Entonces, ¿cuál es la última versión de Python que no tiene este problema? Tengo Python 3.7.4 tiene el mismo problema ...
una oferta no puede rechazar el

@MehmetKurtipek ¿Has resuelto el problema sin actualizar el sistema? También estoy trabajando el 14.04
una oferta no puede rechazar el

usando mint19 y python 3.8, esto solucionó mi problema
5uperdan

21

Para los futuros usuarios de Oracle Linux que intenten resolver esto, a continuación es lo que funcionó para mí. Primero instale libs faltantes:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

Luego cd a tu biblioteca Python3.X y ejecuta:

make
make install 

1
Esta respuesta ha abordado bien el problema en mi CentOS 7.
Max

¿Qué son estas bibliotecas? ¿Por qué se requieren?
Mohit Motwani

Hacer una conexión segura a través de Internet requiere esto, por ejemplo, cuando ejecuta 'pip install'
limboy


20

Para centos 7:

Instalar openssl:

sudo yum install openssl-devel

ahora vamos al directorio de Python donde extrajimos el tar de Python,

ejecutar debajo de los comandos

sudo ./configure
sudo make
sudo make install

Esto solucionará el problema en centos ...


10

Para Windows 10, Windows 7 Si la instalación de pip no funciona en el indicador CMD, ejecútelo utilizando el indicador Anaconda: funciona.

https://github.com/pypa/virtualenv/issues/1139


66
Sé la respuesta correcta, si desea usar pip en cmd normal, no Anaconda prompt, necesita agregar 3 rutas de entorno: como estas: D: \ Anaconda3; D: \ Anaconda3 \ Scripts; D: \ Anaconda3 \ Library \ bin ahora solo Scripts!
小路 小路

8

En caso de que su python esté pyenvinstalado, donde pyenv está instalado con homebrew en macOS, podría haber una versión más nueva disponible que solucione esto:

$ brew update && brew upgrade pyenv

Luego reinstale la versión de Python:

$ pyenv install 3.7.2
pyenv: /Users/luckydonald/.pyenv/versions/3.7.2 already exists
continue with installation? (y/N) 

Tenga en cuenta que es un poco sucio sobrescribir la instalación de Python existente de esa manera, pero en mi caso funcionó.


5

Para OpenSUSE de la misma manera, pero con algunos cambios de los paquetes mencionados anteriormente:

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

Luego cda las fuentes de Python dir y

make
make install

o

make
make altinstall

Y quizá

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

debe ejecutarse para usuarios de OpenSUSE. Vea que la instalación de Python 3.7 no funciona en openSUSE Leap 42.3


5

Similar a la solución anterior , reinstale la versión de Python con pyenv.

De alguna manera, actualicé mi opensslque rompió la versión pyenv python.

pyenv install 3.6.8
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
...

La primera línea dice que se basa en el homebrew openssl.



4

Trabajó para mi.

apt-get install libssl-dev

Use esto para habilitar SSL para pip. Avíseme si alguien encuentra problemas.


3

Me encontré con este problema con Visual Studio Code instalando pylint desde el indicador de VS Code. Pude superar el problema abriendo el directorio de instalación de Anaconda y ejecutando

pip install pylint

Entonces VS Code estaba contento, pero eso no solucionó el problema mientras se ejecutaba

& C:/Users/happy/Anaconda3/python.exe -m pip install -U pylint

prácticamente dio el mismo error, por lo que parece que VS Code no puede acceder a los módulos de Python.

Tenga en cuenta que VS Code recoge el primer entorno python que ve cuando está instalado, la parte inferior izquierda de la pantalla indica qué entorno se está utilizando. Al hacer clic en esa área, se puede configurar el entorno. Entonces, incluso si ejecutó la instalación de pip para un entorno, VS Code podría estar buscando uno diferente.

El mejor enfoque era asegurarse de que el código VS tenía seleccionado el entorno Python correcto y que el mismo entorno está en la RUTA del sistema (en Propiedades del sistema -> Avanzado -> Variables ambientales)

Bajo la variable de ruta, edite y busque el directorio específico de Anaconda que desea que VSCode use y agregue a PATH, necesitaba agregar lo siguiente:

C:\Users\happy\Anaconda3\
C:\Users\happy\Anaconda3\Scripts\
C:\Users\happy\Anaconda3\Library\bin\
C:\Users\happy\Anaconda3\Library\mingw-w64\bin\

Su directorio de instalación de Anaconda puede diferir. Una nota es que Windows no tiene efecto en la variable PATH hasta que reinicie el terminal. En este caso, cierre y vuelva a abrir el código VS. Si usa una Terminal o PS Shell, cierre y vuelva a abrir y verifique la Ruta para asegurarse de que esté incluida.


3

Estoy usando Windows 10 e instalé Miniconda 3 con Python 3.7.

Resolví este error siguiendo este https://github.com/conda/conda/issues/8273

Específicamente, copié los siguientes archivos de C:\Users\MyUser\Miniconda3\Library\bina C:\Users\MyUser\Miniconda3\DLLs:

  • libcrypto-1_1-x64.dll
  • libcrypto-1_1-x64.pdb
  • libssl-1_1-x64.dll
  • libssl-1_1-x64.pdb


2

Si no tiene Chocolatey, instálelo, desde aquí: https://chocolatey.org/docs/installation

Puede copiar y pegar una línea de comando y ejecutarla desde el símbolo del sistema con privilegios elevados.

Instale anaconda, usando la línea de comando:

choco install anaconda3

Establecer variables de entorno:

set PATH=C:\tools\Anaconda3\Scripts;C:\tools\Anaconda3;C:\tools\Anaconda3\Library\bin;%PATH%

y luego ejecuta el comando que falló. En mi caso fue:

pip install conan

Anaconda usa una instalación de python separada, y pip también es específica de anaconda.


1

Como dijo Tokci, también funciona para Windows 7.

"Vaya con el mouse al ícono de Windows (abajo a la izquierda) y comience a escribir" Anaconda ". Debería aparecer algunas entradas coincidentes. Seleccione" Símbolo de Anaconda ". Se abrirá una nueva ventana de comando, llamada" Símbolo de Anaconda ".

Entonces pip funciona.

Lo siguiente también ayudó a importar xgboost: https://www.youtube.com/watch?v=05djBSOs1FA


Buscando el equivalente de Linux ... pero de todos modos, ¿por qué esto funcionaría y usar pip desde la línea de comando no funcionará? Esto solo tiene sentido si ya ha reconstruido el pitón de Anaconda con SSL de antemano en algún momento.
matanster

No tengo idea de por qué, pero lo que dices suena razonable
Ayan Omarov

1

Si alguien usa Arch Linux OS, resolví el problema de TLS / SSL ejecutando esto:

sudo pacman -S openssl

Entonces podría usar pip para instalar el paquete que necesitaba:

pip install openpyxl

1

Vaya al indicador de Anaconda y escriba (si tiene python 3.x instalado en su motor):

py -m pip install pymysql 

Estaba teniendo el mismo problema y esto resolvió mi problema. más tarde, después de hacer esto, puede importar pymysql en power shell o cualquier otro indicador.


1

Encontré este problema al instalar Python 3.8 desde la fuente en ubuntu. A continuación se resumen los pasos necesarios para instalarlo correctamente junto con el python 3.7 predeterminado:

sudo apt -y install libssl-dev zlib1g-dev build-essential

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xf Python-3.8.0.tgz
cd Python-3.8.0/

./configure --enable-optimizations
make
sudo make altinstall

La instrucción de instalación para zlib1g-dev y build-essential es redundante, ya que el escritorio ubuntu ya los tiene, pero era necesaria para algunas de las instancias EC2 de Amazon. Python 3.8.0 es la versión actual en este momento, pero debe reemplazarse con la última disponible.

Estas instrucciones son las mejores para mantener python 3.7 como predeterminado para python3 y ejecutar python 3.8 en un entorno virtual.


1

El problema se debe a que falta el paquete OpenSSL en su PC.

Si pip install openpyxltambién da error.

puede solucionar esto instalando OpenSSL (Win64 OpenSSL v1.1.1g) desde el siguiente sitio:

slproweb.com/products/Win32OpenSSL.html

Reinicie el IDE que está utilizando para que los cambios surtan efecto.


0

Me encontré con este problema! Accidentalmente instalé la versión de 32 bits de Miniconda3. ¡Asegúrese de elegir la versión de 64 bits!


0

Esto funcionó para mí:

yum install python36-pyOpenSSL 

La versión de Python y el administrador de paquetes pueden diferir.


0

Lo intenté:

python -m pip install --upgrade pip

Y después de eso, funciona bien para mí en Windows 10.


0

Se solucionó esto sin tener que cambiar nada relacionado con TSL / SSL.

Estaba tratando de ver si sucedía lo mismo pip, y vi que pipestaba roto. Investigué un poco y me di cuenta de que probablemente fue causado por Homebrew eliminado python@2el 1 de febrero de 2020.

Ejecutando brew uninstall python@2para eliminar python2 instalado por Homebrew.

Destruyó el entorno virtual creado usando python3y creó uno nuevo.
pip3la instalación funciona bien de nuevo.


3
Para mí, cambiar a una versión anterior de openssltrabajado: brew switch openssl 1.0.2t estoy en Mac OS Catalina 10.15.3. Espero eso ayude.
viraj.kulkarni


-1

Este es el problema con su configuración predeterminada de SSL. Debes descargar Python3 y agregar la ruta a tu sistema. Si usa Pycharm, configure el intérprete en su ruta de python3. Entonces normalmente puede usar el pip3 sin error.


-1

El problema probablemente proviene de la versión instalada del paquete openssl. Ese fue el caso para mí y arreglé este problema simplemente actualizándolo. Estoy en Mac OS, usando brew:

brew upgrade openssl

Si instaló python con brew, esto debería solucionar directamente el problema, ya que python depende de openssl


-1

Lo probarías de Anaconda Prompt.

Verá (base), ahora actualice pip. Ejemplo:

(base) C:\Users\Tom>cd ..

(base) C:\Users>cd ..

(base) C:\>python -m pip install --upgrade pip
Requirement already up-to-date: pip in g:\anaconda3\lib\site-packages (20.0.2)

(base) C:\>pip -V
pip 20.0.2 from G:\Anaconda3\lib\site-packages\pip (python 3.7)

# Try install
(base) C:\>pip install selenium

Esto lleva más tiempo, pero también instalará o actualizará las bibliotecas SSL que Anaconda usa internamente. Sigue yendo aquí


Esta respuesta supone usar conda en Windows, no vanilla python en Linux como lo indicó el OP
hrbdg
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.