Viktige punkter å huske
- I Raspberry Pi OS Bookworm er det nødvendig å installere Python-pakker i et virtuelt miljø for å unngå konflikter med systemets Python-versjon.
- Selv om du kan bruke apt-pakkebehandleren til å søke etter og installere Python-pakker, kreves pip-verktøyet i et virtuelt miljø dersom pakken ikke er tilgjengelig, eller hvis du trenger en nyere versjon.
- Endringer eller installasjoner gjort i det virtuelle miljøet vil ikke påvirke systemets Python-installasjon.
Opplever du problemer med å installere Python-pakker ved bruk av «pip» i Raspberry Pi OS Bookworm? Det kreves noen ekstra trinn, som innebærer oppretting av et eget Python-miljø. Her er en veiledning for hvordan du går frem.
Endringer i Raspberry Pi OS Bookworm
Raspberry Pi 5 er ikke kompatibel med eldre versjoner av Raspberry Pi OS, og du må derfor installere den nye «Bookworm»-versjonen. Dette er en viktig faktor å vurdere ved overgang fra eldre Raspberry Pi-modeller.
I tidligere utgaver av det Debian-baserte Raspberry Pi OS (Buster og eldre) kunne Python-biblioteker installeres direkte i hele systemet ved hjelp av pip. Dette er ikke lenger tilfellet i Raspberry Pi OS Bookworm.
Som det fremgår av Raspberry Pi dokumentasjonen, kan bruken av pip, som er et Python-spesifikt verktøy, føre til konflikter med apt, som er operativsystemets pakkebehandler.
Derfor kreves det, fra Bookworm og fremover, at pakker installeres i et isolert Python-virtuelt miljø når du bruker pip. Dette sikrer at de ikke forstyrrer systemets Python-versjon.
Forsøk på å bruke kommandoen pip install [pakkenavn]
andre steder i systemet vil resultere i en feilmelding som starter slik:
error: externally-managed-environment× Dette miljøet er eksternt administrert
╰─> For å installere Python-pakker systemomfattende, prøv apt install
python3-xyz, der xyz er pakken du prøver å
installere.
Slik søker du etter Python-pakker med Apt
Først må du sjekke om Python-pakken du trenger, er tilgjengelig for installasjon ved hjelp av apt. Du kan søke i det offisielle depotet med kommandoen apt search
. For eksempel:
apt search numpy
Legg merke til pakkenavnet, som i dette tilfellet er python3-numpy
(for Python versjon 3), og installer det deretter med apt (bruk sudo
for nødvendige superbrukertillatelser):
sudo apt install python3-numpy
Hvis den ønskede Python-pakken ikke finnes med apt, eller hvis du trenger en nyere versjon, må du bruke pip i et virtuelt Python-miljø.
Opprettelse av et virtuelt Python-miljø
For å installere en Python-pakke med pip i Raspberry Pi OS Bookworm, må du først opprette et virtuelt Python-miljø ved hjelp av venv
. I dette eksemplet kaller vi miljøet «muo-project», men du kan velge et annet navn:
python -m venv muo-project
Dette tar litt tid, avhengig av din Raspberry Pi-modell. Deretter må du navigere til den nyopprettede miljømappen og aktivere den:
cd muo-project
source bin/activate
Det virtuelle Python-miljøet er nå klart, og ledeteksten vil vise navnet på miljøet, i dette tilfellet «muo-project». Dette indikerer at du ikke lenger bruker systemets Python-versjon, men den i ditt virtuelle miljø. Eventuelle endringer eller installasjoner vil kun gjelde for det virtuelle miljøet.
Husk at du må aktivere det virtuelle miljøet på nytt etter omstart av Raspberry Pi for å fortsette å bruke det.
For å opprette et virtuelt Python-miljø med en kopi av alle Python-moduler installert på systemnivå, kan du legge til --system-site-packages
flagget. For eksempel: python -m venv --system-site-packages muo-project
.
Installere Python-pakker med Pip
Innenfor det aktive virtuelle Python-miljøet kan du nå installere ønskede pakker ved hjelp av pip
. For eksempel, for å installere Stressberry-systemets stresstestverktøy:
pip install stressberry
Dette vil installere modulen, sammen med eventuelle avhengigheter, i ditt virtuelle Python-miljø. Denne modulen er kun tilgjengelig i det virtuelle miljøet, ikke i resten av systemet.
Ingen flere Python-pakkekonflikter
Selv om installasjon av Python-pakker i Raspberry Pi OS Bookworm med pip krever noen ekstra steg, sikrer det at pakker installeres i et virtuelt miljø. Dermed unngås konflikter med systemet, og det forblir stabilt.