Guía de instalación
- synopsis
Guía de instalación de Python 3.12.x en Linux (Ubuntu/Kubuntu 24.04) y uso de entornos virtuales con
venv
Python 3.12.x (desde código fuente)
Requisitos de compilación (Ubuntu/Kubuntu 24.04):
sudo apt update
sudo apt install -y \
build-essential \
libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
libncursesw5-dev tk-dev uuid-dev libffi-dev \
liblzma-dev xz-utils libxml2-dev libxmlsec1-dev wget curl
Descargar y compilar (ajusta la versión estable de 3.12.x si corresponde):
PYVER=3.12.6
cd /tmp
wget https://www.python.org/ftp/python/${PYVER}/Python-${PYVER}.tgz
tar xf Python-${PYVER}.tgz
cd Python-${PYVER}
Configurar y compilar con optimizaciones (esto instala en /usr/local sin pisar el Python del sistema):
./configure --enable-optimizations --with-lto --prefix=/usr/local
make -j"$(nproc)"
sudo make altinstall
Verifica la instalación:
/usr/local/bin/python3.12 --version
/usr/local/bin/python3.12 -m pip --version
Gestionar múltiples versiones (sin alterar el Python del sistema)
Recomendación: invocar explícitamente /usr/local/bin/python3.12 y pip3.12 para evitar conflictos con el Python provisto por la distribución.
Opcionalmente, crea alias en tu shell (~/.bashrc o ~/.zshrc):
echo 'alias py312="/usr/local/bin/python3.12"' >> ~/.bashrc
echo 'alias pip312="/usr/local/bin/pip3.12"' >> ~/.bashrc
# luego recarga tu shell:
source ~/.bashrc
Pip
Python 3.12 incluye pip. Si lo necesitas, asegúrate de tenerlo al día:
/usr/local/bin/python3.12 -m ensurepip --upgrade
/usr/local/bin/python3.12 -m pip install --upgrade pip setuptools wheel
Entornos virtuales con venv (recomendado)
A partir de Python 3.3, la forma estándar de crear entornos virtuales es con venv (no se usa virtualenvwrapper).
Crear un entorno local en el proyecto
Desde la carpeta de tu proyecto:
# Crea el entorno .venv usando Python 3.12
/usr/local/bin/python3.12 -m venv .venv
# Activa el entorno (bash/zsh)
source .venv/bin/activate
# Verifica que estás dentro del entorno
python -V
python -m pip -V
Comandos útiles en el día a día
Instalar dependencias:
python -m pip install -r requirements.txt
Guardar dependencias actuales:
python -m pip freeze > requirements.txt
Actualizar pip y herramientas básicas dentro del entorno:
python -m pip install --upgrade pip setuptools wheel
Instalar un paquete puntual:
python -m pip install nombre-paquete
Salir/desactivar el entorno virtual:
deactivate
Eliminar el entorno (cuando necesites recrearlo):
deactivate # si está activo
rm -rf .venv
### Recrear el entorno desde cero (patrón recomendado)
Cuando cambies de versión de Python o sospeches de conflictos, recrea el entorno limpio:
rm -rf .venv
/usr/local/bin/python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements.txt
Solución de problemas
_sslolzmano disponibles al compilar: asegúrate de tener instaladas las dev libs:libssl-devyliblzma-devantes de compilar.Evita cambiar el
python/python3del sistema: usa únicamente/usr/local/bin/python3.12(o alias) para tu trabajo diario.Si
pipno aparece dentro del entorno: ejecutapython -m ensurepip --upgradey luegopython -m pip install --upgrade pip.
Listo!