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 pip
ver 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-dev
Descargue 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:
$ ./configure
Construya e instale:
$ sudo make && sudo make install
Instalar paquetes con:
$ pip3 install package_name
fuente
Si está en Red Hat / CentOS:
fuente
openssl-devel
ejecutarlopython2.7 get-pip.py
Si 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!openssl
funcionó:brew switch openssl 1.0.2t
estoy 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 openssl
De acuerdo con las sugerencias dadas por Homebrew, haga lo siguiente:
fuente
brew uninstall openssl, brew install openssl
. Probébrew reinstall openssl
que no tuvo ningún efecto. ¡Pero la desinstalación / instalación funciona!brew uninstall --ignore-dependencies openssl
En 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 openssl
Asegúrese de seguir las instrucciones que le da brew sobre cómo configurar su
CPPFLAGS
yLDFLAGS
. 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
openssl
funcionó:brew switch openssl 1.0.2t
estoy 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 ssl
yexit()
4) escriba cmd,
"Python 3.7 (64-bit).lnk" -m pip install tensorflow
por 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 --force
fue suficiente:pip
funcionó 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
ssl
módulo es un contenedor TLS / SSL para acceder al socket Operation Sytem (OS) ( Lib / ssl.py ). Entonces, cuando elssl
mó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.command
y/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
.bashrc
archivo 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
,make
ymake install
. Por último, modifico mi.bashrc
. Tenga en cuenta que no incluyo--enable-optimizations
en./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/python
y/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.0
cp /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-forge
No estoy seguro de lo que sucedió, pero conda debe haberse actualizado
openssl
en 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.1
ylibcrypto.so.1.1
.Python3, supongo, fue compilado para buscar
libssl.so.1.0.0
Al 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 found
La gran suposición que hice es que la
yum
versión de ssl es la misma que laconda
versió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
pyenv
para administrar las instalaciones de Python en Mac OS Catalina,openssl
primero tuve que instalar con brew y luego después de esa ejecuciónpyenv install 3.7.8
que parecía construir la instalación de Python usando elopenssl
from homebrew (incluso dijo como tal en el resultado de la instalación). Entoncespyenv global 3.7.8
y 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-host
opción conDigiCert_High_Assurance_EV_Root_CA.pem
no 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_CERT
variable tampoco lo solucionó y lo tuvelibssl1.0.2
elibssl1.0.0
instalado. También vale la pena mencionar que no tenía un~/.pip/pip.conf
archivo y que crearlo tampoco resolvió el error.Lo que finalmente lo resolvió fue instalar python3.6 de
make
nuevo. Descargar el Python-3.6.0.tgz desde el sitio web, ejecutarconfigure
a continuaciónmake
,make test
ymake 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 openssl
descomprímalo y muévase al directorio de Python:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
entonces, si la versión de Python es <3.7, ejecuta
CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug
5. finalmente, ejecutemake -s -j2
(-s
es la bandera silenciosa,-j2
le 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
,openssl
yzlib
. Por lo tanto, es importante instalar estos requisitos previos antes de compilar Python, especialmente cuando se usa en Linux.