Instalar Python 3 en Centos 7 desde las fuentes

En el artículo hoy vamos a ver como instalar Python 3 en Centos 7 desde las fuentes. Para ello debemos cumplir con una serie de requisitos en nuestro servidor.

Python es un lenguaje de programación interpretado muy popular y que cada vez necesito utilizar más en mi día a día, de administrador de sistemas.

Como es bastante común que convivan diferentes versiones de Python en un mismo sistema, este artículo también va para mis apuntes, a modo de Wiki.

Python 3 en Centos 7 desde las fuentes

Antes de nada, debemos instalar los siguientes paquetes en el sistema:

1
yum install yum-utils make wget

Si queremos también podemos utilizar el grupo de paquetes para desarrolladores, aunque no es imprescindible:

1
yum group install "Development Tools"

Con el seguiente comando comprobamos si cumplimos con todos los requisitos, si no es así se encargará de instalar los paquetes o librerías faltantes:

1
yum-builddep python

Nos descargamos la versión de Python que nos interese, que en este caso es la 3.7.1, que es la más reciente, a fecha de creación de este artículo.

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

Descomprimimos el fichero descargado:

1
tar xvf Python-3.7.1.tgz

Accedemos a la carpeta descomprimida y compilamos:

1
2
3
cd Python-3.7.1
./configure
make

En este punto, al ejecutar “make install” , me muestran los siguientes errores:

1
2
zipimport.ZipImportError: can't decompress data; zlib not available
ModuleNotFoundError: No module named '_ctypes

Para evitarlo, instalamos los siguientes paquetes:

1
yum install zlib-devel libffi-devel

E instalamos:

1
sudo make install

Ya podemos encontrar el binario en la ubicación “/usr/local/bin”

1
2
ls /usr/local/bin/python3.7
/usr/local/bin/python3.7

Si lo ejecutamos:

1
2
3
4
Python 3.7.1 (default, Nov 21 2018, 16:42:43)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Y esto es todo en lo que respecta a su instalación.

Si queremos utilizar esta versión u otra que escojamos por defecto, solo debemos editar el fichero : “~/.bashrc”
Y añadir:

1
alias python='/usr/local/bin/python3.7'

Espero que el artículo, aunque es un pequeña píldora informativa, os pueda servir en algún momento. Nos vamos leyendo.

Fuentes consultadas:

Linuxconfig.org – Compile and install Python 3 on Centos 7 from sources
Cibyrciti.biz – Centos and RHEL 7 linux install compile development
Unix.stackexchange.com – Zimimport can’t decompress data zlib not available
Stackoverflow – Python3 importerror no module named cytpes