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

¡Genial! Usas Linux. Eres oficialmente un usuario avanzado 🐧. La buena noticia es que Linux y Python se llevan muy bien.

¿Ya tienes Python?

La mayoría de las distribuciones de Linux vienen con Python preinstalado. Vamos a verificar:

python3 --version

Probablemente veas algo como:

Python 3.9.2

Si tienes Python 3.8 o superior, técnicamente puedes usarlo. Pero te recomiendo instalar la versión más reciente.

Instalación por distribución

Ubuntu/Debian y derivados 📦

Actualizar el sistema

sudo apt update
sudo apt upgrade

Instalar Python 3.11 (o la más reciente)

# Agregar el repositorio deadsnakes (para versiones más nuevas)
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

# Instalar Python 3.11
sudo apt install python3.11 python3.11-venv python3.11-pip

# Instalar herramientas de desarrollo
sudo apt install python3.11-dev build-essential

Verificar la instalación

python3.11 --version

Fedora/CentOS/RHEL 🎩

Fedora (DNF)

# Actualizar el sistema
sudo dnf update

# Instalar Python 3.11
sudo dnf install python3.11 python3.11-pip python3.11-devel

# Herramientas de desarrollo
sudo dnf groupinstall "Development Tools"

CentOS/RHEL (YUM)

# Habilitar EPEL
sudo yum install epel-release

# Instalar Python 3.11
sudo yum install python311 python311-pip python311-devel

# Herramientas de desarrollo
sudo yum groupinstall "Development Tools"

Arch Linux/Manjaro 🏹

# Actualizar el sistema
sudo pacman -Syu

# Instalar Python
sudo pacman -S python python-pip

# Herramientas de desarrollo
sudo pacman -S base-devel

openSUSE 🦎

# Actualizar el sistema
sudo zypper refresh
sudo zypper update

# Instalar Python
sudo zypper install python311 python311-pip python311-devel

# Herramientas de desarrollo
sudo zypper install -t pattern devel_basis

Compilar desde código fuente (método universal)

Si tu distribución no tiene Python 3.11+ en los repositorios:

Paso 1: Instalar dependencias

Ubuntu/Debian:

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

Fedora:

sudo dnf groupinstall "Development Tools"
sudo dnf install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel

Paso 2: Descargar y compilar

# Descargar Python 3.11.5
cd /tmp
wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
tar -xf Python-3.11.5.tgz
cd Python-3.11.5

# Configurar la compilación
./configure --enable-optimizations --with-ensurepip=install

# Compilar (esto puede tomar un rato)
make -j 8

# Instalar
sudo make altinstall

Nota: Usamos altinstall en lugar de install para no sobrescribir el Python del sistema.

Paso 3: Verificar

python3.11 --version

Configurar aliases y PATH

Crear aliases útiles

Edita tu archivo de configuración de shell:

Para Bash:

nano ~/.bashrc

Para Zsh:

nano ~/.zshrc

Agrega estas líneas:

alias python=python3.11
alias pip=pip3.11

Recarga la configuración:

source ~/.bashrc  # o ~/.zshrc

Verificar pip

python3.11 -m pip --version

Si pip no está instalado:

# Ubuntu/Debian
sudo apt install python3.11-pip

# Fedora
sudo dnf install python3.11-pip

# Método universal
python3.11 -m ensurepip --upgrade

Entornos virtuales

En Linux es especialmente importante usar entornos virtuales para no interferir con el Python del sistema:

Instalar venv

# Ubuntu/Debian
sudo apt install python3.11-venv

# Fedora
sudo dnf install python3.11-venv

Crear un entorno virtual

python3.11 -m venv mi_entorno
source mi_entorno/bin/activate

Para desactivar:

deactivate

Problemas comunes en Linux

“python3.11: command not found”

Problema: Python no está en el PATH Solución: Usa la ruta completa /usr/local/bin/python3.11 o crea un symlink

Problemas de permisos con pip

Problema: “Permission denied” al instalar paquetes Solución: Usa --user o entornos virtuales

pip3.11 install --user nombre_paquete

Falta librerías de desarrollo

Problema: Error al compilar paquetes Solución: Instala las herramientas de desarrollo mencionadas arriba

Conflicto con Python del sistema

Problema: Múltiples versiones de Python Solución: Usa versiones específicas (python3.11) y entornos virtuales

Gestión avanzada con pyenv

Para manejar múltiples versiones de Python fácilmente:

Instalar pyenv

# Clonar pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# Configurar PATH
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# Recargar
source ~/.bashrc

Usar pyenv

# Ver versiones disponibles
pyenv install --list

# Instalar Python 3.11.5
pyenv install 3.11.5

# Usar globalmente
pyenv global 3.11.5

# Verificar
python --version

Verificación final

Crea un archivo de prueba:

# Crear el archivo
cat > prueba.py << EOF
print("¡Python funciona perfectamente en Linux!")
import sys
print(f"Versión de Python: {sys.version}")
print(f"Ubicación de Python: {sys.executable}")
print(f"Distribución: {sys.platform}")
EOF

# Ejecutar
python3.11 prueba.py

Comandos útiles para Linux

# Verificar versión
python3.11 --version

# Verificar ubicación
which python3.11

# Ver información del sistema
python3.11 -c "import sys; print(sys.version_info)"

# Instalar paquete para el usuario
pip3.11 install --user paquete

# Crear entorno virtual
python3.11 -m venv nombre_entorno

# Activar entorno virtual
source nombre_entorno/bin/activate

# Ver paquetes instalados
pip3.11 list

Distribuciones específicas

WSL (Windows Subsystem for Linux)

Si usas WSL, sigue las instrucciones de Ubuntu/Debian. Todo funciona igual.

Raspberry Pi OS

sudo apt update
sudo apt install python3.11 python3.11-pip python3.11-venv

Alpine Linux

apk add python3 py3-pip

Siguiente paso

Ahora que tienes Python funcionando en Linux, es hora de elegir un buen editor de código.

👉 Continúa con: Editores e IDEs Recomendados


🐧 Resumen para Linux: Usa el gestor de paquetes de tu distribución, considera compilar desde fuente para versiones más nuevas, y siempre usa entornos virtuales para proyectos.