Instalación de Python en Linux
La mayoría de las distribuciones modernas de Linux traen Python preinstalado. No es magia: los propios gestores de paquetes y herramientas del sistema dependen de él. Lo que hay que verificar es qué versión tienes, porque no todas son iguales.
Verificación de la versión
Abre tu terminal y ejecuta:
python3 --version
La regla del libro: 3.10 o superior (usamos match-case, que nació en esa versión), aunque lo sano es instalar la más reciente. Si tu versión es menor, o el comando no existe, sigue los pasos de la sección siguiente según tu distribución.
Instalación por distribución
Ubuntu/Debian y derivados
# Actualizar lista de paquetes
sudo apt update
# Instalar Python y pip (gestor de paquetes)
sudo apt install python3 python3-pip python3-venv
![Terminal de Ubuntu ejecutando sudo apt install python3 python3-pip python3-venv: tras la contraseña de sudo, apt lista los paquetes nuevos y pide confirmación con ¿Desea continuar? [S/n]](../assets/img/02_02_instalacion_linux.png)
Fig. 2.4: Instalación de Python en Linux con apt.
Fedora
sudo dnf install python3 python3-pip
Arch Linux
sudo pacman -S python python-pip
Configuración de Entornos Virtuales
En Linux, los entornos virtuales no son opcionales. Son la forma correcta de trabajar. Sin ellos, instalas paquetes de Python directamente en el sistema, y tarde o temprano eso rompe algo.
-
Crear un entorno virtual:
python3 -m venv .venv -
Activar el entorno:
source .venv/bin/activate
Una vez activado, el nombre del entorno aparece al inicio del prompt. Para salir, ejecuta deactivate.
Herramientas de compilación (Opcional)
Algunos paquetes de Python no vienen precompilados: necesitan construirse desde el código fuente en tu máquina. Si instalas algo y ves errores de compilación, estas herramientas los resuelven.
Ubuntu/Debian:
sudo apt install build-essential libssl-dev libffi-dev python3-dev
Fedora:
sudo dnf group install development-tools
Para profundizar (opcional)
Las secciones anteriores te dejan con Python funcionando; esto es contexto extra para quien tenga curiosidad del porqué Linux hace las cosas así, distinto a macOS o Windows.
Por qué pip y venv vienen en paquetes separados
En macOS y Windows, el instalador de Python trae pip incluido de fábrica. En Linux no, por eso el comando de instalación de la sección anterior pide tres paquetes (python3, python3-pip, python3-venv) en vez de uno solo.
La razón: casi toda distribución moderna depende de Python para sus propias herramientas internas (el gestor de paquetes de Fedora, por ejemplo, está escrito en Python). Tocar ese Python de base para instalar librerías de terceros arriesgaría romper herramientas del propio sistema operativo. Por eso la mayoría de las distribuciones mantiene el Python del sistema al mínimo y deja pip y venv como paquetes aparte, que tú instalas para tus propios proyectos.
El error “externally-managed-environment”
Si alguna vez corres pip install algo fuera de un entorno virtual en una distribución reciente (Debian 12 o más nuevo, Ubuntu 23.04 o más nuevo), verás un error parecido a este:
error: externally-managed-environment
Es la distribución bloqueando, a propósito, cualquier instalación directa sobre el Python del sistema (la política formal se llama PEP 668). El mensaje sugiere apt install python3-xyz o crear un entorno virtual, exactamente lo que ya venimos haciendo en este capítulo. En Linux moderno el sistema aplica por su cuenta la regla de “siempre usa un venv”: sin un entorno virtual activo, pip simplemente se niega a instalar nada fuera de él.