Solución al error "error: externally-managed-environment" en Python

Author
Por Darío Rivera
Publicado el 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

Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.