Solución al error "error: externally-managed-environment" en Python
Desde Ubuntu 23.04 puedes encontrarte con un nuevo error en Python debido a un cambio en la política de instalación de paquetes que previene que los paquetes instalados mediante pip colisionen de alguna manera con los instalados con APT.
El error en cuestión es el siguiente:
error: externally-managed-environment
Solución
Para prevenir que haya problemas con paquetes del sistema operativo y de Python lo recomendable es utilizar un entorno virtual con venv. Lo primero que debes hacer es crear un entorno virtual. Para esto vamos a instalar venv.
sudo apt install python3-venv
Seguido a esto deberás crear un entorno virtual. Puedes crear tantos como quieras. El siguiente comando usa venv para crear el entorno en la carpeta ".venv" en donde se haya ejecutado el comando.
python3 -m venv .venv
Es recomendable crear el entorno virtual dentro de cada proyecto. Esto se debe a que cada proyecto de Python puede tener diferentes requisitos de paquetes y versiones de Python. Si echas un vistazo a la carpeta creada verás lo siguiente:
user@server# ls .venv/
bin include lib lib64 pyvenv.cfg
Lo que vez es un entorno virtual con una copia de python y pip. Todo lo que instales después de activar dicho entorno quedará en ese entorno virtual. Finalmente para activar el entorno creado puedes utilizar el siguiente comando:
source .venv/bin/activate
Como ejemplo, si deseas instalar openai despueś de haber activado el entorno podrás ejecutar pip así
pip install openai