Come installare i pacchetti Python nel sistema operativo Raspberry Pi Bookworm

Punti chiave

  • Bookworm del sistema operativo Raspberry Pi richiede l’installazione di pacchetti Python in un ambiente virtuale per evitare conflitti con la versione di sistema di Python.
  • Puoi utilizzare il gestore pacchetti apt per cercare e installare pacchetti Python, ma se il pacchetto non è disponibile o hai bisogno di una versione più recente, dovrai utilizzare lo strumento pip all’interno di un ambiente virtuale.
  • Qualsiasi modifica o installazione effettuata all’interno dell’ambiente virtuale non influirà sulla versione di sistema di Python.

Hai problemi con l’installazione dei pacchetti Python utilizzando lo strumento “pip” nel sistema operativo Raspberry Pi Bookworm? Ci sono alcuni passaggi aggiuntivi che devi compiere, che coinvolgono la creazione di un ambiente virtuale Python. Ecco come farlo.

Cosa è cambiato nel Bookworm del sistema operativo Raspberry Pi?

Poiché Raspberry Pi 5 non è compatibile con le versioni precedenti del sistema operativo Raspberry Pi, dovrai installare su di esso la nuova versione “Bookworm”. Questa è una delle cose da considerare quando si passa al Raspberry Pi 5 da un modello precedente.

Nelle versioni precedenti del sistema operativo Raspberry Pi basato su Debian (Buster e precedenti), era possibile installare direttamente le librerie Python, a livello di sistema, utilizzando lo strumento di gestione dei pacchetti pip. Tuttavia, nel nuovo sistema operativo Raspberry Pi Bookworm questo non è più il caso.

Come il Documentazione Raspberry Pi spiega, il problema era che l’utilizzo di uno strumento specifico di Python come pip poteva causare conflitti con il gestore di pacchetti del sistema operativo apt.

Pertanto, da Bookworm in poi, quando si utilizza pip, i pacchetti devono essere installati in un ambiente virtuale Python sandbox, che garantisce che non possano interferire con la versione di sistema di Python.

Se provi a utilizzare il comando pip install [package name] in qualsiasi altro punto del sistema, riceverai un errore che inizia con questo testo:

 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.

Come cercare pacchetti Python con Apt

La prima cosa da verificare è se il pacchetto Python di cui hai bisogno è disponibile per l’installazione utilizzando il gestore pacchetti apt a livello di sistema. Puoi cercare i pacchetti nel repository ufficiale usando il comando apt search. Ad esempio:

 apt search numpy 

Prendi nota del nome del pacchetto, in questo caso python3-numpy (per Python versione 3), quindi installalo con apt (con il prefisso sudo per i privilegi di superutente richiesti per l’installazione):

 sudo apt install python3-numpy 

Se il pacchetto Python di cui hai bisogno non è disponibile utilizzando il gestore pacchetti apt o se ne richiedi una versione più recente, dovrai utilizzare lo strumento pip specifico di Python per installarlo, all’interno di un ambiente virtuale Python.

Come creare un ambiente virtuale Python

Per installare un pacchetto Python con lo strumento pip nel sistema operativo Raspberry Pi Bookworm, dovrai prima creare un ambiente Python virtuale utilizzando venv. Abbiamo chiamato il nostro “muo-project”, ma puoi usare qualsiasi nome tu voglia:

 python -m venv muo-project 

Il completamento richiederà un po’ di tempo, a seconda del modello di Raspberry Pi che stai utilizzando. Dovrai quindi cambiare directory nella cartella dell’ambiente appena creata, che contiene una distribuzione Python completa, e attivarla:

 cd muo
source bin/activate

L’ambiente virtuale Python è ora pronto per l’uso e al prompt del sistema verrà preceduto il suo nome, in questo caso muo-project. Ciò dimostra che non stai più utilizzando la versione di sistema di Python, ma quella all’interno del tuo ambiente virtuale. Quindi qualsiasi modifica apportata ad esso, o ai moduli installati, non influirà sul sistema Python.

Tieni presente che se riavvii il Raspberry Pi, dovrai riattivare l’ambiente Python per utilizzarlo nuovamente.

Se vuoi creare un ambiente virtuale Python con una copia di tutti i moduli Python attualmente installati a livello di sistema operativo, puoi farlo aggiungendo il flag –system-site-packages nel comando. Ad esempio: python -m venv –system-site-packages muo-project.

Installa pacchetti Python con Pip

Dall’ambiente virtuale Python attivo, ora puoi installare tutti i pacchetti necessari utilizzando il comando pip. Ad esempio, per installare lo strumento di stress test del sistema Stressberry:

 pip install stressberry 

Quindi installerà il modulo, insieme a tutte le dipendenze richieste, all’interno del tuo ambiente virtuale Python. Tieni presente che il modulo sarà disponibile solo al suo interno e non a livello di sistema.

Niente più conflitti tra pacchetti Python

Sebbene l’installazione dei pacchetti Python nel sistema operativo Raspberry Pi Bookworm utilizzando lo strumento pip richieda passaggi aggiuntivi, il vantaggio è che solo allora risiedono nell’ambiente virtuale e quindi non possono interferire o rompere il sistema.