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.12 en vez de 3.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-MANAGED no borra nada y puede revertirse. Aun así, es una modificación del sistema. Si quieres ir a lo seguro, usa venv o pipx. Para más detalles, consulta el PEP 668.