Instalé Python 3.4 y Python 3.6 en mi máquina local con éxito, pero no puedo instalar paquetes con pip3.
Cuando ejecuto pip3 install <package>, obtengo el siguiente error relacionado con SSL :
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>
¿Cómo puedo arreglar mi instalación de Python3.x para poder instalar paquetes con pip install <package>?

sudo apt-get install python3-pip?pip3 install --upgrade pipver si recibe el mismo mensaje o no.Respuestas:
Guía paso a paso para instalar Python 3.6 y pip3 en Ubuntu
Instale los paquetes necesarios para Python y ssl:
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-devDescargue y descomprima "Python-3.6.8.tar.xz" de https://www.python.org/ftp/python/ en su directorio personal.
Abra la terminal en ese directorio y ejecute:
$ ./configureConstruya e instale:
$ sudo make && sudo make installInstalar paquetes con:
$ pip3 install package_namefuente
Si está en Red Hat / CentOS:
fuente
openssl-develejecutarlopython2.7 get-pip.pySi está en Windows y usa anaconda, esto funcionó para mí:
Probé muchas otras soluciones que no funcionaron (cambios en la variable PATH del entorno ...)
El problema puede ser causado por archivos DLL en la carpeta Windows \ System32 (por ejemplo, libcrypto-1_1-x64.dll o libssl-1_1-x64.dll u otros) colocados allí por otro software.
La solución fue instalar openSSL desde https://slproweb.com/products/Win32OpenSSL.html que reemplaza los dlls por versiones más recientes.
fuente
Tuve un problema similar en OSX 10.11 debido a la instalación de Memcached, que instaló Python 3.7 sobre 3.6.
Pasé horas desvinculando openssl, reinstalando, cambiando rutas ... y nada ayudó. Cambiar la versión de openssl de la versión anterior hizo el truco:
No vi esta sugerencia en ningún lugar de Internet. Espero que le sirva a alguien.
fuente
brew switch openssl 1.0.2s. Pero eso fue todo. ¡Me has salvado, gracias!opensslfuncionó:brew switch openssl 1.0.2testoy en Mac OS Catalina 10.15.3. Espero eso ayude.De acuerdo con la respuesta de mastaBlasta. Trabajó para mi. Encontré el mismo problema que la descripción del tema.
Entorno: MacOS Sierra. Y yo uso Homebrew.
Mi solución:
brew uninstall openssl; brew install opensslDe acuerdo con las sugerencias dadas por Homebrew, haga lo siguiente:
fuente
brew uninstall openssl, brew install openssl. Probébrew reinstall opensslque no tuvo ningún efecto. ¡Pero la desinstalación / instalación funciona!brew uninstall --ignore-dependencies opensslEn Ubuntu, esto puede ayudar:
fuente
La degradación de openssl funcionó para mí,
fuente
El problema probablemente se debe a que falta la biblioteca.
Antes de instalar Python 3.6, asegúrese de instalar todas las bibliotecas necesarias para Python.
Más información en Cómo instalar Python 3.6.0 en Ubuntu y LinuxMint
fuente
Si está en OSX y ha compilado Python desde la fuente:
Instalar openssl usando brew
brew install opensslAsegúrese de seguir las instrucciones que le da brew sobre cómo configurar su
CPPFLAGSyLDFLAGS. En mi caso, estoy usando la[email protected]fórmula de preparación y necesito estas 3 configuraciones para que el proceso de compilación de Python se vincule correctamente a mi biblioteca SSL:Suponiendo que la biblioteca esté instalada en esa ubicación.
fuente
opensslfuncionó:brew switch openssl 1.0.2testoy en Mac OS Catalina 10.15.3. Espero eso ayude.Encontré el mismo problema en Windows 10. Mi problema más específico se debe a la instalación de Anaconda. Instalé Anaconda y debajo del camino
Path/to/Anaconda3/, viene elpython.exe. Por lo tanto, no instalé Python en absoluto porque Anaconda incluye Python. Al utilizar PIP para instalar paquetes, me encontré con el mismo informe de errores,pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available..La solución fue la siguiente:
1) puede descargar Python nuevamente en el sitio web oficial ;
2) Navega hasta el directorio donde
"Python 3.7 (64-bit).lnk"se encuentra3)
import sslyexit()4) escriba cmd,
"Python 3.7 (64-bit).lnk" -m pip install tensorflowpor ejemplo.Aquí está todo listo.
fuente
cmd /c $py .\main.py( Powershell ) ocmd /c %py% .\main.py( Dos ). Esto lo ejecutará en su shell existente y se puede programarSi está en Windows y usa Anaconda , puede intentar ejecutar el comando "pip install ..." en Anaconda Prompt en lugar de cmd.exe, como sugiere el usuario willliu1995 aquí . Esta fue la solución más rápida para mí, que no requiere la instalación de componentes adicionales.
fuente
Intenté MUCHAS formas de resolver este problema y ninguna se resolvió. Actualmente estoy en Windows 10.
Lo único que funcionó fue:
Luego descargué todas las bibliotecas que necesitaba usando PIP ... ¡y trabajé!
No sé por qué, o si el problema estaba relacionado de alguna manera con Anaconda.
fuente
para usuarios de osx brew
mi problema apareció relacionado con mi instalación de Python y se resolvió rápidamente reinstalando python3 y pip. Creo que comenzó a comportarse mal después de una actualización del sistema operativo, pero quién sabe (en este momento estoy en Mac OS 10.14.6)
fuente
brew reinstall python3 --forcefue suficiente:pipfuncionó nuevamente después de eso, no necesité reinstalarpip.Puede hacer cualquiera de estos dos:
o
\Anaconda
\ Anaconda \ Biblioteca \ mingw-w64 \ bin
\ Anaconda \ Library \ usr \ bin
\ Anaconda \ Biblioteca \ bin
\ Anaconda \ Scripts
\ anaconda \ Biblioteca
\ anaconda \ condabin
Agregue las rutas anteriores a la variable de sistema "Ruta" y no debería mostrar más el error :)
fuente
Estaba teniendo el mismo problema y pude resolverlo con los siguientes pasos:
dependiendo de las permanentes, es posible que no necesite sudo.
ahora debería poder ejecutar
y
Al instalar paquetes:
o dependiendo de las permanentes, también puede agregar la marca --user así:
fuente
El
sslmódulo es un contenedor TLS / SSL para acceder al socket Operation Sytem (OS) ( Lib / ssl.py ). Entonces, cuando elsslmódulo no está disponible, es probable que no tenga las bibliotecas OS OpenSSL instaladas o que esas bibliotecas no se hayan encontrado al instalar Python. Supongamos que es un caso posterior (también conocido como: ya tiene OpenSSL instalado, pero no están vinculados correctamente al instalar Python).También asumiré que está instalando desde la fuente. Si está instalando desde un archivo binario (es decir, un archivo .exe de Windows) o un paquete (Mac .dmg o Ubuntu apt), no hay mucho que pueda hacer con el proceso de instalación.
Durante el paso de configurar su instalación de Python, debe especificar dónde se utilizará el sistema operativo OpenSSL para vincular:
Entonces, ¿dónde encontrará su directorio OpenSSL instalado?
Su sistema puede ser diferente al mío, pero como puede ver aquí, tengo muchas bibliotecas de openssl instaladas diferentes. En el momento de escribir este artículo, python 3.8 espera openssl 1.0.2 o 1.1:
Por lo tanto, deberá verificar cuál de esas bibliotecas instaladas puede usar para vincular, por ejemplo
Es posible que deba probar algunas, o instalar una nueva, para encontrar la biblioteca que funcionaría para su Python y su sistema operativo.
fuente
En mi caso con Mac, eliminé
/Applications/Python 3.7. porque ya tenía Python3.7 porbrew install python3.Pero fue un detonante del mensaje
Lo que hice en mi situación
/Applications/Python3.6/Install Certificates.commandy/Applications/Python3.6/Update Shell Profile.command.pip.conf. Consulte la instalación de pip falla .fuente
Finalmente resuelvo este problema. Estos son los detalles de mi env:
Versión de Python para instalar: 3.6.8
SO: Ubuntu 16.04.6 LTS
Acceso raíz: No
Algunas personas sugieren instalar
libssl-dev, pero no funcionó para mí. ¡Sigo este enlace y lo arreglé!En resumen, descargo, extraigo, construyo e instalo OpenSSL (openssl-1.1.1b.tar.gz). Luego, modifico el
.bashrcarchivo siguiendo este enlace .A continuación, descargo y extraigo Python-3.6.8.tgz. Edito Módulos / Setup.dist para modificar la ruta SSL (líneas alrededor de # 211). Lo hice
./configure --prefix=$HOME/opt/python-3.6.8,makeymake install. Por último, modifico mi.bashrc. Tenga en cuenta que no incluyo--enable-optimizationsen./configure.fuente
En macos, configure Python 3.8.1 con el siguiente comando resolverá el problema, creo que también funcionaría en Linux.
cambie el parámetro dir según su sistema.
fuente
Si está en OSX y en caso de que las otras soluciones no funcionen para usted (como yo).
Puede intentar desinstalar python3 y actualizar pip3
Esto funcionó para mí;)
fuente
(¡NO en Windows!)
Esto me hizo arrancarme el pelo durante una semana, así que espero que esto ayude a alguien.
Intenté todo menos reinstalar Anaconda y / o Jupyter.
Preparar
./anaconda3/bin/python)/usr/bin/pythony/usr/bin/python3(pero estos no se estaban utilizando ya que la mayor parte del trabajo se realizó en la terminal de Jupyter)Reparar
En la terminal de Jupyter:
cp /usr/lib64/libssl.so.10 ./anaconda3/lib/libssl.so.1.0.0cp /usr/lib64/libcrypto.so.10 ./anaconda3/lib/libcrypto.so.1.0.0¿Qué provocó esto?
Entonces, todo esto funcionó hasta que intenté hacer un
conda install conda-forgeNo estoy seguro de lo que sucedió, pero conda debe haberse actualizado
opensslen la caja (supongo), así que después de esto, todo se rompió.Básicamente, sin que yo lo supiera, conda había actualizado openssl, pero de alguna manera eliminó las bibliotecas antiguas y las reemplazó con
libssl.so.1.1ylibcrypto.so.1.1.Python3, supongo, fue compilado para buscar
libssl.so.1.0.0Al final, la clave del diagnóstico fue esta:
python -c "import ssl; print (ssl.OPENSSL_VERSION)"dio la pista
library "libssl.so.1.0.0" not foundLa gran suposición que hice es que la
yumversión de ssl es la misma que lacondaversión, por lo que simplemente cambiar el nombre del objeto compartido podría funcionar, y lo hizo.Mi otra solución fue volver a compilar Python, reinstalar anaconda, etc., pero al final me alegro de no haberlo necesitado.
Espero que esto les ayude.
fuente
En el caso de usar
pyenvpara administrar las instalaciones de Python en Mac OS Catalina,opensslprimero tuve que instalar con brew y luego después de esa ejecuciónpyenv install 3.7.8que parecía construir la instalación de Python usando elopensslfrom homebrew (incluso dijo como tal en el resultado de la instalación). Entoncespyenv global 3.7.8y me fui.fuente
Pude solucionar esto actualizando la versión de Python en este archivo. pyenv: la versión `3.6.5 'no está instalada (establecida por /Users/taruntarun/.python-version) Aunque tenía instalada la última versión, mi comando seguía usando la versión anterior 3.6.5
Pasando a la versión 3.7.3
fuente
Tuve el mismo problema durante los últimos dos días y solo lo he solucionado en este momento.
Intenté usar la
--trust-hostopción conDigiCert_High_Assurance_EV_Root_CA.pemno funcionó, no pude instalar el módulo ssl (dice que no se puede instalar para versiones de Python superiores a 2.6), configurar la$PIP_CERTvariable tampoco lo solucionó y lo tuvelibssl1.0.2elibssl1.0.0instalado. También vale la pena mencionar que no tenía un~/.pip/pip.confarchivo y que crearlo tampoco resolvió el error.Lo que finalmente lo resolvió fue instalar python3.6 de
makenuevo. Descargar el Python-3.6.0.tgz desde el sitio web, ejecutarconfigurea continuaciónmake,make testymake install. Espero que funcione para ti.fuente
La documentación de Python es realmente muy clara, y seguir las instrucciones funcionó, mientras que otras respuestas que encontré aquí no estaban solucionando este problema.
primero, instale python 3.xx desde la fuente usando, por ejemplo, con la versión 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
asegúrese de tener openssl instalado ejecutando
brew install openssldescomprímalo y muévase al directorio de Python:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2entonces, si la versión de Python es <3.7, ejecuta
CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug5. finalmente, ejecutemake -s -j2(-ses la bandera silenciosa,-j2le dice a su máquina que use 2 trabajos)fuente
Tuve el mismo problema al intentar instalar python3.7 en una máquina ubuntu14.04. El problema era que tenía algunas carpetas personalizadas en mi PKG_CONFIG_PATH y en mi LD_LIBRARY_PATH, lo que impedía que el proceso de compilación de Python encontrara las bibliotecas openssl del sistema.
así que intente borrarlos y vea qué sucede:
fuente
Ok, la última respuesta a esto, a partir de ahora no use Python 3.8 , use solo 3.7 o menos, porque la mayoría de las bibliotecas no se instalan con el error anterior
fuente
gcc,opensslyzlib. Por lo tanto, es importante instalar estos requisitos previos antes de compilar Python, especialmente cuando se usa en Linux.