Viernes 19/01/2024

ETIQUETA | Software

pypi

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:

PEP668

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:

venv

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).


§