“El módulo SSL en Python no está disponible” al instalar el paquete con pip3

He instalado con éxito Python 3.4 y Python 3.6 en mi equipo local, pero no puedo instalar paquetes con pip3 .

Cuando ejecuto pip3 install , 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  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 poder instalar paquetes con pip install ?

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

  1. Descargue Python-3.6.1.tar.xz de https://www.python.org/

  2. Descomprime el archivo y mantén la carpeta en el directorio principal.

  3. Abra la terminal en ese directorio y realice los siguientes comandos: ./configure make make test sudo make install

  4. Esto instalará Python 3.6 pero puede que pip3 no funcione. Instale los módulos necesarios usando:
    sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
  5. Ahora escriba lo siguiente para volver a ejecutar la instalación: sudo make sudo make install

  6. Ahora puede instalar paquetes con Python 3.6 usando el comando pip3. Por ejemplo:
    sudo pip3 install numpy

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 

El problema probablemente causado por la falta de la 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 y LinuxMint

Si está en OSX y ha comstackdo python desde el origen:

Instalar openssl usando brew install openssl

Asegúrese de seguir las instrucciones que brew le brinda sobre la configuración de sus CPPFLAGS y LDFLAGS . En mi caso, estoy usando la fórmula openssl@1.1 y necesito estas 3 configuraciones para que el proceso de comstackción python se vincule correctamente a mi biblioteca SSL:

 export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig" 

Suponiendo que la biblioteca está instalada en esa ubicación.

Estaba teniendo el mismo problema en los últimos dos días y solo lo he arreglado en este momento.

Intenté usar --trust-host option con DigiCert_High_Assurance_EV_Root_CA.pem no funcionó, no pude instalar el módulo ssl (me dice que no se puede instalar para versiones de Python mayores que 2.6), estableciendo la variable $PIP_CERT no $PIP_CERT También lo solucioné y tenía libssl1.0.2 y libssl1.0.0 instalados. También vale la pena mencionar que no tenía un archivo ~/.pip/pip.conf , y su creación tampoco resolvió el error.

Lo que finalmente lo resolvió fue instalar python3.6 con make nuevamente. Descargue el Python-3.6.0.tgz desde el sitio web, ejecute configure luego make , make test y make install . Espero que funcione para ti.

Estoy de acuerdo con la respuesta de mastaBlasta. Trabajó para mi. Encontré el mismo problema que la descripción del tema.

Medio ambiente: MacOS Sierra. Y uso Homebrew.

Mi solución:

  1. Reinstalar openssl mediante brew uninstall openssl, brew install openssl ;
  2. De acuerdo con los consejos dados 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"

No estoy seguro si esto ayudará a alguien, pero descubrí de la pip3 install --upgrade pip manera que la syntax es la pip3 install --upgrade pip lugar de pip3 install --upgrade pip3 como uno podría esperar.