Búsqueda de sitios web

Cómo instalar paquetes de Python en el sistema operativo Raspberry Pi Bookworm


La versión "Bookworm" del sistema operativo Raspberry Pi, tal como se usa en Raspberry Pi 5, trae algunos cambios en la forma en que se instalan los módulos Python.

Conclusiones clave

  • Raspberry Pi OS Bookworm requiere la instalación de paquetes de Python en un entorno virtual para evitar conflictos con la versión del sistema de Python.
  • Puede usar el administrador de paquetes apt para buscar e instalar paquetes de Python, pero si el paquete no está disponible o necesita una versión más nueva, necesitará usar la herramienta pip dentro de un entorno virtual.
  • Cualquier cambio o instalación realizada dentro del entorno virtual no afectará la versión del sistema de Python.

¿Tiene problemas para instalar paquetes de Python usando la herramienta "pip" en Raspberry Pi OS Bookworm? Hay algunos pasos adicionales que debe seguir, que implican la creación de un entorno virtual de Python. Aquí se explica cómo hacerlo.

¿Qué ha cambiado en el ratón de biblioteca del sistema operativo Raspberry Pi?

Dado que Raspberry Pi 5 es incompatible con versiones anteriores del sistema operativo Raspberry Pi, deberá instalar la nueva versión "Bookworm". Esta es una de las cosas a considerar al cambiar a Raspberry Pi 5 desde un modelo anterior.

En versiones anteriores del sistema operativo Raspberry Pi OS basado en Debian (Buster y anteriores), era posible instalar bibliotecas Python directamente, en todo el sistema, utilizando la herramienta de administración de paquetes pip. Sin embargo, este ya no es el caso en el nuevo Raspberry Pi OS Bookworm.

Como explica la documentación de Raspberry Pi, el problema era que el uso de una herramienta específica de Python como pip podía causar conflictos con el administrador de paquetes del sistema operativo apt.

Por lo tanto, a partir de Bookworm, cuando se utiliza pip, los paquetes deben instalarse en un entorno virtual de Python aislado, lo que garantiza que no puedan interferir con la versión del sistema de Python.

Si intenta utilizar el comando pip install [nombre del paquete] en cualquier otro lugar del sistema, recibirá un error que comenzará con este texto:

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.

Cómo buscar paquetes de Python con Apt

Lo primero que debe verificar es si el paquete Python que necesita está disponible para instalar utilizando el administrador de paquetes apt de todo el sistema. Puede buscar paquetes en el repositorio oficial usando el comando apt search. Por ejemplo:

apt search numpy

Anote el nombre del paquete, en este caso python3-numpy (para Python versión 3), y luego instálelo con apt (con el prefijo sudo para obtener los privilegios de superusuario necesarios para la instalación). :

sudo apt install python3-numpy

Si el paquete Python que necesita no está disponible usando el administrador de paquetes apt, o necesita una versión más reciente del mismo, necesitará usar la herramienta pip específica de Python para instálelo, dentro de un entorno virtual de Python.

Cómo crear un entorno virtual Python

Para instalar un paquete de Python con la herramienta pip en Raspberry Pi OS Bookworm, primero deberá crear un entorno virtual de Python usando venv. Llamamos al nuestro "proyecto muo", pero puedes usar el nombre que quieras:

python -m venv muo-project

Tardará un poco en completarse, según el modelo de Raspberry Pi que esté utilizando. Luego deberá cambiar el directorio a la carpeta de entorno recién creada, que contiene una distribución completa de Python, y activarla:

cd muo
source bin/activate

El entorno virtual de Python ahora está listo para usarse y el mensaje del sistema tendrá su nombre antepuesto; en este caso, muo-project. Esto muestra que ya no estás usando la versión del sistema de Python, sino la que está dentro de tu entorno virtual. Por lo tanto, cualquier cambio que realice o módulos que instale no afectará el sistema Python.

Tenga en cuenta que si reinicia la Raspberry Pi, deberá reactivar el entorno Python para volver a utilizarla.

Si desea crear un entorno virtual de Python con una copia de todos los módulos de Python instalados actualmente en el nivel del sistema operativo, puede hacerlo agregando el indicador --system-site-packages en el comando . Por ejemplo: python -m venv --system-site-packages muo-project.

Instalar paquetes de Python con Pip

Desde el entorno virtual activo de Python, ahora puede instalar cualquier paquete que necesite usando el comando pip. Por ejemplo, para instalar la herramienta de prueba de estrés del sistema Stressberry:

pip install stressberry

Luego instalará el módulo, junto con las dependencias que requiera, dentro de su entorno virtual Python. Tenga en cuenta que el módulo solo estará disponible allí y no en todo el sistema.

No más conflictos de paquetes de Python

Si bien la instalación de paquetes de Python en Raspberry Pi OS Bookworm usando la herramienta pip requiere pasos adicionales, la ventaja es que solo entonces viven dentro del entorno virtual y, por lo tanto, no pueden interferir ni romper el sistema.