Python
Mis notas de Python: errores, soluciones y cosas que quiero tener a mano para no pelearme con pip cada dos semanas.
Solucionar el error "externally-managed-environment" al usar pip
Cuando intentas actualizar pip o instalar paquetes en sistemas gestionados por tu distribución (como Ubuntu o Debian), puedes encontrarte con este error:
➜ pip install --upgrade pip
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
...
No es grave, y tiene solución. Este mensaje aparece desde Python 3.11 con la implementación del PEP 668, que busca proteger el entorno Python del sistema. Aquí explico cómo saltarse esta restricción de forma controlada.
Soluciones disponibles
1. Renombrar el archivo EXTERNALLY-MANAGED
Es la opción más directa y reversible. No modifica el sistema en profundidad:
sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
Después ya puedes usar pip sin restricciones:
pip install --upgrade pip
Si algo da problemas, se revierte fácilmente:
sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED.old /usr/lib/python3.11/EXTERNALLY-MANAGED
⚠️ La ruta puede variar: ajusta la versión según tu Python (ej.
3.12en vez de3.11).
2. Usar un entorno virtual (recomendado por Python)
Más limpio y seguro, aunque requiere cambiar el flujo de trabajo:
python3 -m venv ~/mi-entorno
source ~/mi-entorno/bin/activate
Ahora puedes instalar paquetes sin afectar al sistema.
3. Usar pipx para instalar aplicaciones
Aísla aplicaciones Python en entornos virtuales gestionados automáticamente:
sudo apt install pipx
pipx install nombre-del-paquete
Ideal si solo necesitas instalar herramientas CLI como httpie, poetry, etc.
¿Cuál prefiero?
Depende del caso:
- Para entornos estables o producción: mejor usar venv o pipx.
- Para máquinas personales o pruebas rápidas: renombrar el archivo es más práctico.
Notas finales
- Mover el archivo
EXTERNALLY-MANAGEDno borra nada y puede revertirse. Aun así, es una modificación del sistema. - Si quieres ir a lo seguro, usa
venvopipx. - Para más detalles, consulta el PEP 668.