Questa guida mostra come compilare Python da sorgente su distribuzioni Linux basate su RHEL (Oracle Linux, AlmaLinux, Rocky Linux) e su Debian/Ubuntu. Compilare da sorgente permette di scegliere esattamente la versione da installare, in una directory personalizzata, senza interferire con il Python di sistema.
1. Installa le dipendenze di compilazione
Per RHEL (Oracle Linux 10, AlmaLinux 10, Rocky Linux 10) usa questi comandi
sudo dnf groupinstall "Development Tools"
sudo dnf install zlib-devel ncurses-devel gdbm-devel openssl-devel readline-devel libffi-devel sqlite-devel bzip2-devel xz-devel tk-devel uuid-devel libuuid-devel
Per Debian 13 / Ubuntu 26 usa qesti comandi
sudo apt update
sudo apt install -y build-essential libz-dev libncurses-dev libgdbm-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev liblzma-dev tk-dev uuid-dev
2. Scarica e compila i sorgenti
Setta la variabile PYTHON_VERSION per impostare la versione da installare, la variabile PYTHON_INSTALL_DIR per settare la cartella che conterrà python compilato
# Imposta la versione e la directory di installazione
export PYTHON_VERSION="3.14.4"
export PYTHON_INSTALL_DIR="$HOME/PROGS/python${PYTHON_VERSION}"
# Prepara le directory
sudo rm -rf "${PYTHON_INSTALL_DIR}" && mkdir -p "${PYTHON_INSTALL_DIR}"
mkdir -p ~/sources && cd ~/sources
# Scarica ed estrai i sorgenti
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz
tar -xf Python-${PYTHON_VERSION}.tar.xz
rm Python-${PYTHON_VERSION}.tar.xz
cd Python-${PYTHON_VERSION}
# Configura
./configure --prefix="${PYTHON_INSTALL_DIR}" --enable-optimizations --with-ensurepip=install
# Compila e installa
make -j $(nproc)
make install
3. Aggiorna il PATH
Apri in modifica il file ~/.bashrc e aggiungi le seguenti righe, ricordando di impostare correttamente le variabili PYTHON_VERSION e PYTHON_INSTALL_DIR
nano ~/.bashrc
export PYTHON_VERSION="3.14.4"
export PYTHON_INSTALL_DIR="$HOME/PROGS/python${PYTHON_VERSION}"
export PATH="${PYTHON_INSTALL_DIR}/bin:$PATH"
Poi ricarica il file:
source ~/.bashrc
4. Verifica l’installazione
$PYTHON_INSTALL_DIR/bin/python3 --version
$PYTHON_INSTALL_DIR/bin/pip3 --version
5. Pulizia
cd $HOME && rm -rf ~/sources
Note finali
- Cambia il valore di
PYTHON_VERSIONper compilare qualsiasi altra versione. - L’opzione
--enable-optimizationsattiva le ottimizzazioni PGO (Profile Guided Optimization): allunga i tempi di compilazione ma migliora le prestazioni a runtime. - L’installazione avviene in una directory utente (
$HOME/PROGS/...), senza toccare il Python di sistema.