"El módulo ssl en Python no está disponible" al instalar el paquete con pip3

He instalado 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 Tengo lo siguiente SSL related error:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting 
  Could not fetch URL https://pypi.python.org/simple//: 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  (from versions: )
No matching distribution found for 

¿Cómo puedo arreglar mi instalación Python3.x para que pueda instalar paquetes con pip install ?

Pregunta hecha hace 7 años, 1 meses, 29 días - Por techmaestro


11 Respuestas:

  • Guía paso a paso para instalar Python 3.6 y pip3 en Ubuntu

    1. Instala 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

    2. Descargar y descifrar "Python-3.6.8.tar.xz" https://www.python.org/ftp/python/ en su directorio principal.

    3. Abrir terminal en ese directorio y ejecutar: $ ./configure

    4. Construir e instalar: $ make && sudo make install

    5. Instalar paquetes con: $ pip3 install package_name

    Descargo: Los comandos anteriores no se prueban en Ubuntu 20.04 LTS.

    Respondida el Dec 26, 2016 a las 08:32 - por bytebarde61c

    Votos positivos: 0 | Votos negativos: 0

  • Si usted está en Windows y utilizar anaconda esto funcionó para mí:

    He probado muchas otras soluciones que no funcionaron (Environment PATH Variables ...)

    El problema puede ser causado por DLLs en la carpeta Windows\System32 (por ejemplo, libcrypto-1_1-x64.dll o libssl-1_1-x64.dll o por otros) colocado allí por otro software.

    La solución estaba instalando openSSL desde https://slproweb.com/products/Win32OpenSSL.html que reemplaza los dlls por versiones más recientes.

    Respondida el Dec 26, 2016 a las 08:37 - por algorithmalchemist

    Votos positivos: 0 | Votos negativos: 0

  • Si estás en Red Hat/CentOS:

    # To allow for building python ssl libs
    yum install openssl-devel
    # Download the source of *any* python version
    cd /usr/src
    wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
    tar xf Python-3.6.2.tar.xz 
    cd Python-3.6.2
    
    # Configure the build w/ your installed libraries
    ./configure
    
    # Install into /usr/local/bin/python3.6, don't overwrite global python bin
    make altinstall
    

    Respondida el Dec 26, 2016 a las 08:45 - por scriptsculptorbf10

    Votos positivos: 0 | Votos negativos: 0

  • Tuve un problema similar en OSX 10.11 debido a la instalación de memcached que instaló python 3.7 en la parte superior de 3.6.

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

    Pasó horas para desvincular apertura, reinstalar, cambiar caminos .. y nada ayudó. Cambiar la versión openssl de nuevo a la versión anterior hizo el truco:

    brew switch openssl 1.0.2e
    

    No vi esta sugerencia en ningún sitio de Internet. Espero que sirva a alguien.

    Respondida el Dec 26, 2016 a las 08:50 - por codemaster89

    Votos positivos: 0 | Votos negativos: 0

  • En Ubuntu, esto puede ayudar:

    cd Python-3.6.2
    ./configure --with-ssl
    make
    sudo make install
    

    Respondida el Dec 26, 2016 a las 08:58 - por codergeek24

    Votos positivos: 0 | Votos negativos: 0

  • De acuerdo con la respuesta de mastaBlasta. Trabajó para mí. Me encontré con el mismo problema que la descripción del tema.

    Medio ambiente: MacOS Sierra. Y yo uso Homebrew.

    Mi solución:

    1. Reinstall opensl by brew uninstall openssl; brew install openssl
    2. Según las indicaciones dadas por Homebrew, haga lo siguiente:

      echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
      export LDFLAGS="-L/usr/local/opt/openssl/lib"
      export CPPFLAGS="-I/usr/local/opt/openssl/include"
      

    Respondida el Dec 26, 2016 a las 09:07 - por quantumquill

    Votos positivos: 0 | Votos negativos: 0

  • Tuve el mismo problema con la instalación de python3.8.5 en Debian9. He hecho una compilación, pero cuando he intentado descargar algunos módulos, pip3.8 emitió el siguiente error:

    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    

    He buscado la raíz de mi problema y he descubierto que hay una porción dependiente del sistema de la construcción de pitón que se llama por sistema independiente. En caso de desaparecido ssl sólo necesitaba abrir el terminal de python y comprobar si es _ssl presente:

    >>> help('modules')
    .
    .
    _sre                enum                pwd                 wave
    _ssl                errno               py_compile          weakref
    _stat               faulthandler        pyclbr              webbrowser
    .
    .
    

    Si no su sistema dependiente parte del módulo ssl falta. Usted puede comprobarlo también mediante la inclusión de contenido /lib/python3.8/lib-dynload:

    >ls ./lib/python3.8/lib-dynload | grep ssl
    _ssl.cpython-38-x86_64-linux-gnu.so
    

    The problem was caused as written by PengShaw by missing libssl-dev during the build. Por lo tanto usted tiene que seguir el flujo de instalación de pitón recomendado. Primero instalar requisitos y luego construir e instalar el pitón. La instalación sin versiones de libs resultó en mi caso en la parte dependiente del sistema desaparecido. En este caso _ssl.

    Tenga en cuenta que el nombre de lib devel difiere para Debian y CentOS, por lo tanto, compruebe si las sugerencias de instalación publicadas en red son adecuadas para su tipo de sistema Linux específico:

    For Debian:
    sudo apt install -y libbz2-dev libffi-dev libssl-dev
    ./configure --enable-optimizations
    make
    make altinstall
    
    
    For CentOS:
    sudo yum -y install bzip2-devel libffi-devel openssl-devel
    ./configure --enable-optimizations
    make
    make altinstall
    

    Es seguro que una buena idea listar opciones de configuración antes de la configuración y evtl. utilizar algunas opciones adicionales:

    ./configure --help
    

    Por último, pero no menos importante en caso de utilizar --prefix para una ubicación de instalación no predeterminada, recuerde añadir su /lib a su LD_LIBRARY_PATH.

    Respondida el Dec 26, 2016 a las 09:17 - por algorithmarchitect

    Votos positivos: 0 | Votos negativos: 0

  • Si estás en Windows y usa Anaconda puede intentar ejecutar el comando "pip install ..." en Anaconda Prompt en lugar de cmd.exe, como el usuario willliu1995 sugiere Aquí.. Esta fue la solución más rápida para mí, que no requiere la instalación de componentes adicionales.

    Respondida el Dec 26, 2016 a las 09:23 - por logiclinguist

    Votos positivos: 0 | Votos negativos: 0

  • El problema probablemente causado por falta de biblioteca.

    Antes de instalar python 3.6, asegúrese de instalar todas las bibliotecas necesarias para python.

    $ sudo apt-get install build-essential checkinstall 
    $ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
    

    Más información en Cómo instalar Python 3.6.0 en Ubuntu & LinuxMint

    Respondida el Dec 26, 2016 a las 09:33 - por syntaxsniper

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando indica que el módulo ssl en Python no está disponible o configurado correctamente en tu instalación. Aquí tienes algunas sugerencias para intentar solucionar este problema:

    • Instalar el módulo ssl: En algunos casos, este error puede deberse a que el módulo ssl no está instalado en Python. Puedes intentar reinstalar Python para asegurarte de que el módulo ssl esté presente.
    • Verificar la configuración de Python: Verifica si la configuración de Python incluye el módulo ssl. Puedes hacerlo ejecutando el siguiente comando en tu terminal:
    bash
       python3 -m ssl
       

    Si el módulo está disponible, deberías ver información sobre el mismo. Si no está disponible, debes reinstalar Python o configurar la instalación correctamente.

    • Reinstalar Python: Si ninguna de las opciones anteriores funciona, considera reinstalar Python. Asegúrate de descargar la versión más reciente y realiza una instalación limpia para evitar posibles conflictos.
    1. Utilizar un entorno virtual: Otra opción es crear

    Respondida el Dec 27, 2016 a las 08:33 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Solución 1: Instalar el módulo SSL

    En Ubuntu/Debian: sudo apt-get install python3-ssl En CentOS/Red Hat: sudo yum install python3-ssl

    Solución 2: Actualizar OpenSSL

    Comprobar la versión actual de OpenSSL: openssl version Si la versión es inferior a 1.0.1, actualizarla: En Ubuntu/Debian: sudo apt-get update && sudo apt-get install openssl En CentOS/Red Hat: sudo yum update openssl

    Solución 3: Verificar la configuración de proxy

    Comprueba si estás usando un proxy HTTP o HTTPS. Si es así, establece la variable de entorno HTTP_PROXY o HTTPS_PROXY a la dirección del proxy.

    Solución 4: Deshabilitar la verificación SSL

    ADVERTENCIA: Esto no se recomienda para entornos de producción. Agrega el argumento --trusted-host a pip durante la instalación: pip3 --trusted-host pypi.python.org install <package>

    Solución 5: Instalar el certificado de CA raíz

    Descarga el certificado de CA raíz de Python desde aquí. Instálalo en tu sistema: sudo mv cacert.pem /usr/local/share/ca-certificates/cacert.pem Ejecuta sudo update-ca-certificates

    Solución 6: Forzar el uso de HTTP en lugar de HTTPS

    Agrega el argumento --index-url a pip para forzar el uso de HTTP: pip3 --index-url http://pypi.python.org/simple/ install <package>

    Después de aplicar cualquiera de estas soluciones, intenta instalar el paquete nuevamente usando pip3 install <package>.

    Respondida el Dec 27, 2016 a las 08:46 - por Gemini

    Votos positivos: 0 | Votos negativos: 0