Slik installerer du Python-pakker i Raspberry Pi OS Bookworm

Viktige takeaways

  • Raspberry Pi OS Bookworm krever installasjon av Python-pakker i et virtuelt miljø for å forhindre konflikter med systemversjonen av Python.
  • Du kan bruke apt-pakkebehandlingen til å søke etter og installere Python-pakker, men hvis pakken ikke er tilgjengelig eller du trenger en nyere versjon, må du bruke pip-verktøyet i et virtuelt miljø.
  • Eventuelle endringer eller installasjoner i det virtuelle miljøet vil ikke påvirke systemversjonen av Python.

Har du problemer med å installere Python-pakker ved å bruke «pip»-verktøyet i Raspberry Pi OS Bookworm? Det er noen ekstra trinn du må ta, som involverer opprettelsen av et virtuelt Python-miljø. Slik gjør du det.

Hva har endret seg i Raspberry Pi OS Bookworm?

Siden Raspberry Pi 5 er inkompatibel med tidligere versjoner av Raspberry Pi OS, må du installere den nye «Bookworm»-versjonen på den. Dette er en av tingene du bør vurdere når du bytter til Raspberry Pi 5 fra en tidligere modell.

  Slik legger du inn et Google-skjema i en e-post

I tidligere versjoner av det Debian-baserte Raspberry Pi OS-operativsystemet (Buster og tidligere), var det mulig å installere Python-biblioteker direkte, over hele systemet, ved å bruke pip-pakkeadministrasjonsverktøyet. Dette er imidlertid ikke lenger tilfelle i den nye Raspberry Pi OS Bookworm.

Som Raspberry Pi-dokumentasjon forklarer, var problemet at bruk av et Python-spesifikt verktøy som pip kunne forårsake konflikter med apt OS-pakkebehandleren.

Derfor, fra Bookworm og utover, når du bruker pip, må pakker installeres i et sandkassebasert Python-virtuelt miljø, som sikrer at de ikke kan forstyrre systemversjonen av Python.

Hvis du prøver å bruke kommandoen pip install [package name] hvor som helst ellers i systemet, vil du motta en feilmelding som starter med denne teksten:

 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.

Slik søker du etter Python-pakker med Apt

Det første du må sjekke er om Python-pakken du trenger er tilgjengelig for installasjon ved å bruke den systemomfattende apt-pakkebehandlingen. Du kan søke etter pakker i det offisielle depotet ved å bruke apt search-kommandoen. For eksempel:

 apt search numpy 

Legg merke til pakkenavnet, i dette tilfellet python3-numpy (for Python versjon 3), og installer det deretter med apt (prefikset med sudo for de nødvendige superbrukerrettighetene for installasjon):

 sudo apt install python3-numpy 

Hvis Python-pakken du trenger ikke er tilgjengelig ved å bruke apt-pakkebehandlingen, eller du trenger en nyere versjon av den, må du bruke det Python-spesifikke pip-verktøyet for å installere det – i et virtuelt Python-miljø.

  31 beste verktøy for nettskraping

Hvordan lage et virtuelt Python-miljø

For å installere en Python-pakke med pip-verktøyet i Raspberry Pi OS Bookworm, må du først lage et virtuelt Python-miljø ved å bruke venv. Vi kalte vårt «muo-prosjekt», men du kan bruke hvilket navn du vil:

 python -m venv muo-project 

Det vil ta litt tid å fullføre, avhengig av hvilken Raspberry Pi-modell du bruker. Du må da endre katalog til den nyopprettede miljømappen, som inneholder en full Python-distribusjon, og aktivere den:

 cd muo
source bin/activate

Det virtuelle Python-miljøet er nå klart til bruk, og systemforespørselen vil bli satt foran med navnet – i dette tilfellet, muo-project. Dette viser at du ikke lenger bruker systemversjonen av Python, men den som er inne i ditt virtuelle miljø. Så eventuelle endringer du gjør i den, eller moduler du installerer, vil ikke påvirke systemet Python.

  11 beste WiFi-temperatur- og fuktighetssensor

Merk at hvis du starter Raspberry Pi på nytt, må du aktivere Python-miljøet på nytt for å bruke det igjen.

Hvis du vil lage et virtuelt Python-miljø med en kopi av alle Python-modulene som for øyeblikket er installert på operativsystemnivå, kan du gjøre det ved å legge til –system-site-packages-flagget i kommandoen. Eks: python -m venv –system-site-packages muo-project.

Installer Python-pakker med Pip

Fra det aktive Python virtuelle miljøet kan du nå installere alle pakker du trenger ved å bruke pip-kommandoen. For eksempel, for å installere Stressberry-systemets stresstestverktøy:

 pip install stressberry 

Den vil deretter installere modulen, sammen med eventuelle avhengigheter den krever, i ditt virtuelle Python-miljø. Merk at modulen kun vil være tilgjengelig deri og ikke for hele systemet.

Ingen flere Python-pakkekonflikter

Mens installasjonen av Python-pakker i Raspberry Pi OS Bookworm ved hjelp av pip-verktøyet krever ekstra trinn, er fordelen at de først da lever i det virtuelle miljøet og derfor ikke kan forstyrre, eller bryte, systemet.