Instalar python3.7 en versiones viejas de Debian
La vida no siempre resulta como uno planea.. y cada tanto uno se termina engrapando con un server viejo, legacy, que tiene una version de OS viejisima y querés correr python ahi (alguna version nueva) y claro, ya no podes usar el apt-get. Así que acá vamos a compilarlo a mano, como en los 90’s. Quizás a alguien le salva el día.
Instalando paquetes requeridos
apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl libbz2-dev
Instalamos openssl a mano..
Si es una distro tan vieja, seguro tampoco tenes openssl actualizado, así que también la instalamos a mano:
cd /usr/local/src/
git clone git://git.openssl.org/openssl.git
cd openssl/
./config --prefix=/opt/openssl
make
make install
Instalamos Python desde el código fuente
cd /usr/local/src/
curl -O https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
tar -xf Python-3.7.3.tar.xz
cd Python-3.7.3
Editamos el archivo Modules/Setup y cambiamos (o descomentamos) estas lineas:
SSL=/opt/openssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
Es importante que apuntes la variable SSL al directorio donde instalaste el openssl previamente.
Luego continuamos configurando todo:
cd ..
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/openssl/lib
./configure --enable-optimizations --prefix=/opt/python37 --with-openssl=/opt/openssl
y finalmente lo compilamos & instalamos (en /opt/python3.7)
make -j4
make altinstall
Eso es todo, ahora ya podes correr tus script con python3.7, ejecutandolo desde
/opt/python37/bin/python3.7