Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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]

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.

  1. Crear un entorno virtual:

    python3 -m venv .venv
    
  2. 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.