Compilar e Instalar python 3.7

Compilar e Instalar python 3.7

Compilar e instalar python 3.7

En ocasiones podemos encontrarnos con un sistema antiguo que no podemos cambiar por alguna razón. Al ser antiguo en este sistema no podemos instalar desde paquete Python 3.7, para esquivar este problema debemos compilar e instalar python 3.7.

Por ejemplo si tenemos un sistema CentOS 7, debemos instalar las siguientes dependencias:

yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel

Después de instalar las dependencias, debemos descargar el paquete de codigo fuente de la versión de python a compilar:

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

Tras descargar el paquete, descomprimimos el paquete y nos metemos dentro del directorio:

tar xzf Python-3.7.9.tgz
cd Python-3.7.9

Ya dentro del directorio, compilamos la versión:

./configure --enable-optimizations

Cuando se finalice la compilación con existo, debemos instalar los binarios generados. Haciendolo con «altinstall» realizamos la instalación de un python secundario sin sobrescribir una versión existente de python:

make altinstall

Un paso mas a realizar es la instalación de pip para poder instalar mas paquetes, para ello ejecutaremos lo siguiente:

wget https://bootstrap.pypa.io/get-pip.py
python3.7 get-pip.py

Tambien es buena idea instalar una versión de virtualenv, paquete para poder generar entornos virtuales:

pip3.7 install virtualenv

Finalmente para mantener los binarios por defecto de las otras versiones de python:

mv /usr/local/bin/pip /usr/local/bin/pip.new
mv /usr/local/bin/virtualenv /usr/local/bin/virtualenv-3.7

Para resumir todo esto en un script, a continuación dejo el siguiente:

#/bin/bash
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
tar xzf Python-3.7.9.tgz
cd Python-3.7.9
./configure --enable-optimizations
make altinstall
wget https://bootstrap.pypa.io/get-pip.py
python3.7 get-pip.py
pip3.7 install virtualenv
mv /usr/local/bin/pip /usr/local/bin/pip.new
mv /usr/local/bin/virtualenv /usr/local/bin/virtualenv-3.7

Deja una respuesta