reconoce que programa por lotes interno instalar externo entorno eliminar ejecutable como comando archivo activar pip python-venv python-3.6

programa - pip3 se instala dentro de un entorno virtual con un error de python3.6 debido a que el módulo ssl no está disponible



virtualenv no se reconoce como un comando interno o externo programa o archivo por lotes ejecutable (6)

(py36venv) vagrant @ pvagrant-dev-vm: / vagrant / venvs $ pip3 install pep8

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

Recopilar pep8 no se pudo recuperar la URL https://pypi.python.org/simple/pep8/ : Hubo un problema al confirmar el certificado SSL: no se puede conectar a la URL HTTPS porque el módulo SSL no está disponible. - omitiendo

No se pudo encontrar una versión que satisfaga el requisito pep8 (de las versiones:) No se encontró una distribución coincidente para pep8

Información de fondo - Intentando pasar a Python 3.6.

Instaló python3.6 usando los siguientes comandos:

wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

tar -xvf Python-3.6.0.tgz

cd Python-3.6.0
./configure --enable-optimizaciones
make -j8 sudo make altinstall python3.6

Virtualenv creado por:

python3.6 -m venv py36venv

fuente py36venv / bin / activar

Intenté instalar pep8

(py36venv) pip3 instalar pep8

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

No se pudo recuperar la URL https://pypi.python.org/simple/pep8/ : Hubo un problema al confirmar el certificado SSL: no se puede conectar a la URL HTTPS porque

El módulo SSL no está disponible. - omitiendo No se pudo encontrar una versión que satisfaga el requisito pep8 (de las versiones:) No se encontró una distribución coincidente para pep8


Un guión completo se puede encontrar HERE

Instalar requisitos previos

Para RHEL / CentOS

sudo yum -y install gcc gcc-c++ zlib zlib-devel libffi-devel openssl-devel wget

Para Ubuntu / Debian

sudo apt-get -y install build-essential python-dev python-setuptools python-pip python-smbus libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev wget

Descargar Python

Modifique para la versión de Python que desee

Versiones de Python

cd /var/tmp sudo wget https://www.python.org/ftp/python/3.xx/Python-xxxtgz sudo tar xf Python-3.*.tgz cd Python-3*

Configurar / Hacer / Instalar

sudo ./configure --enable-optimizations --enable-shared --prefix=/usr/local sudo make && make altinstall

Limpiar biblioteca compartida y agregar a ruta

Eliminar los símbolos de depuración de la biblioteca compartida puede acelerar la ejecución al ejecutar scripts paralelos.

sudo make && make altinstall sudo strip /usr/local/lib/libpython3.7m.so.1.0 sudo echo ''export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib'' >> /etc/profile.d/python.sh sudo echo ''export PATH=${PATH}:~/usr/local/bin/'' >> /etc/profile.d/python.sh sudo echo ''/usr/local/lib'' >> /etc/ld.so.conf sudo ldconfig

Referencia


Ejecutar make me informó en la salida del shell:

The necessary bits to build these optional modules were not found: _bz2 _dbm _gdbm _sqlite3 _ssl _tkinter To find the necessary bits, look in setup.py in detect_modules() for the module''s name.

Lo que resolvió el problema en mi caso (Linux Mint 18.1, openssl ya instalado) fue editar el setup.py en la carpeta Python-3.6.0 agregando allí la ruta donde la instalación de openssl puso el archivo ssl.h en mi sistema ( /usr/include/openssl/ssl.h). Aquí la sección en la que he agregado la línea ''/ usr / include'' :

# Detect SSL support for the socket module (via _ssl) search_for_ssl_incs_in = [ ''/usr/local/ssl/include/'', ''/usr/contrib/ssl/include/'', ''/usr/include/'' ] ssl_incs = find_file(''openssl/ssl.h'', inc_dirs, search_for_ssl_incs_in )


He resuelto este problema en Ubuntu-16.04.1. Primero necesitas instalar las bibliotecas necesarias. Para instalar abra la Terminal ( Ctrl + Alt + T ), luego escriba;

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

Después de eso, vaya al directorio donde se encuentra su archivo de Python y luego reconfigure y reinstale python3.6.

cd /opt/Python3.6/ ./configure make sudo make install

NOTA
Si instaló Python3.6 a través de ppa, vuelva a instalarlo nuevamente;

sudo apt-get install python3.6

Ahora deberías poder usar pip3.6


Me encontré con el mismo error al construir Python 3.6.1 desde la fuente en CentOS 7. Para CentOS7, primero tuve que:

sudo yum install openssl-dev

Entonces:

./configure --enable-optimizations make altinstall

Ahora pip3.6 funciona :-)


Me topé con el mismo problema cuando intenté crear un entorno virtual utilizando python3.6.0. Aquí está mi solución para Mac OS X 10.12.2 (el comentario de Py_minion estaba bastante cerca):

Preparar

Creé el entorno siguiendo estos pasos: descargando Python3.6.0 corriendo

./configure --prefix=<some_path>` make make install mkvirtualenv --python=<some_path/bin/python3.6> foo

Básicamente similar a: https://.com/a/11301911/1286093

Una indicación si tiene el mismo problema que tuve sería una línea similar al ejecutar make

The necessary bits to build these optional modules were not found: _ssl

Solución

Instalar openssl

brew install openssl brew unlink openssl && brew link openssl --force

Cambiar Módulo / Configuración o Módulo / Configuración.dist

Puede encontrar esos archivos en el directorio de la versión descargada de Python.

Comente y, si es necesario, cambie las líneas 209 - 211 (tuve que cambiar la variable SSL a mi ubicación de openssl).

SSL=/usr/local/opt/openssl <---- THIS DEPENDS ON YOUR INSTALLATION _ssl _ssl.c / -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl / -L$(SSL)/lib -lssl -lcrypto

Dado que esta era la ubicación de openssl

Establecer variables de entorno

export CFLAGS="-I$(brew --prefix openssl)/include" export LDFLAGS="-L$(brew --prefix openssl)/lib"

hacer e instalar de nuevo

Corriendo

./configure --prefix=<some_path>` make make install mkvirtualenv --python=<some_path/bin/python3.6> foo

de nuevo hizo el truco para mí


Seguí los pasos a continuación para la instalación de python3.6 en ubuntu 14.04 y las instalaciones virtualenv pip funcionan bien.

Instalación de Python 3.6:

sudo apt-get install python3-dev libffi-dev libssl-dev wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz tar xvf Python-3.6.0.tgz cd Python-3.6.0 ./configure --enable-optimizations make -j8 sudo make altinstall python3.6

Si ve el siguiente error:

zipimport.ZipImportError: no puede descomprimir datos; zlib no disponible make: *** [altinstall] Error 1

tratar:

sudo apt-get install zlib1g-dev

Validación:

Crea virtualenv en python3.6:

python3.6 -m venv testenv source testenv/bin/activate pip install pep8

usando pip:

(testenv) vagrant@pvagrant-dev-vm:~$ pip install pep8 *Collecting pep8 Downloading pep8-1.7.0-py2.py3-none-any.whl (41kB) 100% |████████████████████████████████| 51kB 4.1MB/s Installing collected packages: pep8 Successfully installed pep8-1.7.0* (testenv) vagrant@pvagrant-dev-vm:~$ pip list pep8 (1.7.0) pip (9.0.1) setuptools (28.8.0)