Viernes 19/01/2024
ETIQUETA | Software
La versión actual de Raspberry Pi OS se basa en Debian 12 "Bookworm" y el equipo de Debian ha decidido seguir la directriz de Python PEP668.
Ahora, al intentar instalar un programa con pip, recibimos el siguiente mensaje:
En dicho mensaje nos aconsejan crear un entorno virtual con vent o saltarnos la recomendación con "--break-system-packages" bajo nuestra responsabilidad.
¿Cuál sería la mejor opción?
Dependiendo del uso que usted esté haciendo, de python, existen varias alternativas:
1.- Eliminar el mensaje y volver a la situación anterior.
Eliminar el mensaje es tan simple como teclear en una terminal lo siguiente:
sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.bak
A partir de este momento no volverá a aparecer el mensaje y puede usar el instalador "pip" como lo venía haciéndo en versiones anteriores.
Si por algún motivo deseara revertir la situación y dejarlo como estaba, debe teclear lo siguiente:
sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED.bak /usr/lib/python3.11/EXTERNALLY-MANAGED
2.- Saltarnos dicho mensaje.
Para saltarnos el mensaje tendríamos que instalar los paquetes con "--break-system-packages".
Por ejemplo para instalar el paquete "cowsay" deberíamos teclear en una terminal lo siguiente:
pip install --break-system-packages cowsay
3.- Usar un entorno virtual con venv
Es la opción que aconseja Debian.
Siguiendo el ejemplo anterior para instalar "cowsay", creando un entorno virtual, con venv. Debemos teclear lo siguiente, en una terminal:
python3 -m venv .venv
source .venv/bin/activate
pip install cowsay
En la siguiente imagen podemos ver, de forma detallada, su uso:
Para salir del entorno virtual debemos teclear:
deactivate
Evidentemente, cada vez que queramos acceder a un programa, instalado de esta forma, debemos activar el entorno virtual con:
source .venv/bin/activate
Es un sistema de trabajo muy seguro, pero bastante farragoso.
4.- Usar pipx
Es el sistema que me parece mejor.
Se trata de instalar pipX saltándonos la advertencia y a partir de ahí hacer todas las instalaciones con "pipX"
pip install --break-system-packages pipx
Reiniciar (es importante este paso antes de realizar ninguna instalación con pipX)
sudo reboot
A partir de ahora, para instalar cualquier paquete, usaríamos la orden:
pipx install <nombre_del_paquete_a_instalar>
Pipx es un instalador de aplicaciones Python que las instala y ejecuta en entornos aislados evitando problemas de incompatibilidades.
Bueno... esto es todo. Espero que sea de utilidad.
Salud(os).