Sådan installeres Python-pakker i Raspberry Pi OS Bookworm

Nøgle takeaways

  • Raspberry Pi OS Bookworm kræver installation af Python-pakker i et virtuelt miljø for at forhindre konflikter med systemversionen af ​​Python.
  • Du kan bruge apt-pakkehåndteringen til at søge efter og installere Python-pakker, men hvis pakken ikke er tilgængelig, eller du har brug for en nyere version, skal du bruge pip-værktøjet i et virtuelt miljø.
  • Eventuelle ændringer eller installationer foretaget i det virtuelle miljø vil ikke påvirke systemversionen af ​​Python.

Har du problemer med at installere Python-pakker ved hjælp af “pip”-værktøjet i Raspberry Pi OS Bookworm? Der er nogle ekstra trin, du skal tage, som involverer oprettelsen af ​​et virtuelt Python-miljø. Sådan gør du det.

Hvad er ændret i Raspberry Pi OS Bookworm?

Da Raspberry Pi 5 er inkompatibel med tidligere versioner af Raspberry Pi OS, skal du installere den nye “Bookworm”-version på den. Dette er en af ​​de ting, du skal overveje, når du skifter til Raspberry Pi 5 fra en tidligere model.

  Søgeteknikken, der gør dig sårbar

I tidligere versioner af det Debian-baserede Raspberry Pi OS-operativsystem (Buster og tidligere) var det muligt at installere Python-biblioteker direkte på hele systemet ved hjælp af pip-pakkehåndteringsværktøjet. Dette er dog ikke længere tilfældet i den nye Raspberry Pi OS Bookworm.

Som Raspberry Pi dokumentation forklarer, var problemet, at brug af et Python-specifikt værktøj såsom pip kunne forårsage konflikter med apt OS-pakkehåndteringen.

Derfor skal pakker fra Bookworm og fremefter, når du bruger pip, installeres i et sandboxed Python-virtuelt miljø, som sikrer, at de ikke kan forstyrre systemversionen af ​​Python.

Hvis du prøver at bruge kommandoen pip install [package name] andre steder i systemet, vil du modtage en fejlmeddelelse, der starter med denne tekst:

 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.

Sådan søger du efter Python-pakker med Apt

Den første ting at tjekke er, om den Python-pakke, du har brug for, er tilgængelig til at installere ved hjælp af den systemdækkende apt-pakkehåndtering. Du kan søge efter pakker i det officielle lager ved hjælp af kommandoen apt search. For eksempel:

 apt search numpy 

Bemærk pakkenavnet, i dette tilfælde python3-numpy (til Python version 3), og installer det derefter med apt (præfikset med sudo for de nødvendige superbrugerrettigheder til installation):

 sudo apt install python3-numpy 

Hvis den Python-pakke, du har brug for, ikke er tilgængelig ved hjælp af apt-pakkehåndteringen, eller du har brug for en nyere version af den, skal du bruge det Python-specifikke pip-værktøj til at installere det – i et virtuelt Python-miljø.

  Sådan rettes Ubuntu "No Wi-Fi Adapter Found"-fejlen

Sådan opretter du et virtuelt Python-miljø

For at installere en Python-pakke med pip-værktøjet i Raspberry Pi OS Bookworm, skal du først oprette et virtuelt Python-miljø ved hjælp af venv. Vi kaldte vores “muo-projekt”, men du kan bruge et hvilket som helst navn, du vil:

 python -m venv muo-project 

Det vil tage lidt tid at fuldføre, afhængigt af hvilken Raspberry Pi-model du bruger. Du skal derefter skifte mappe til den nyoprettede miljømappe, som indeholder en fuld Python-distribution, og aktivere den:

 cd muo
source bin/activate

Det virtuelle Python-miljø er nu klar til brug, og systemprompten vil blive sat foran sit navn – i dette tilfælde muo-project. Dette viser, at du ikke længere bruger systemversionen af ​​Python, men den inde i dit virtuelle miljø. Så eventuelle ændringer, du foretager i det, eller moduler, du installerer, vil ikke påvirke systemet Python.

  Sådan værdisætter du krypto på den rigtige måde [2023]

Bemærk, at hvis du genstarter Raspberry Pi, skal du genaktivere Python-miljøet for at bruge det igen.

Hvis du vil oprette et virtuelt Python-miljø med en kopi af alle de Python-moduler, der i øjeblikket er installeret på operativsystemniveau, kan du gøre det ved at tilføje flaget –system-site-packages i kommandoen. F.eks.: python -m venv –system-site-packages muo-project.

Installer Python-pakker med Pip

Fra det aktive Python virtuelle miljø kan du nu installere alle de pakker, du har brug for, ved at bruge pip-kommandoen. For eksempel for at installere Stressberry-systemets stresstestværktøj:

 pip install stressberry 

Det vil derefter installere modulet, sammen med eventuelle afhængigheder, det kræver, i dit virtuelle Python-miljø. Bemærk, at modulet kun vil være tilgængeligt deri og ikke hele systemet.

Ikke flere Python-pakkekonflikter

Mens installationen af ​​Python-pakker i Raspberry Pi OS Bookworm ved hjælp af pip-værktøjet kræver ekstra trin, er fordelen, at de først da lever i det virtuelle miljø og derfor ikke kan forstyrre eller bryde systemet.