Contents

Hur man installerar Python-paket i Raspberry Pi OS Bookworm

Viktiga iakttagelser

Raspberry Pi OS Bookworm kräver att Python-moduler installeras i en virtuell plattform, som en försiktighetsåtgärd mot eventuella negativa störningar från värdens standardimplementering av Python.

Man kan använda Apt-pakethanteraren för att söka efter och installera Python-moduler, men i fall där paketet inte är tillgängligt eller en uppdaterad version krävs, blir det nödvändigt att använda Pip-verktyget i en virtuell miljö.

I en virtuell miljö kommer eventuella ändringar eller tillägg till Python inte att påverka den systemomfattande installationen av Python.

Om du stöter på problem när du installerar Python-paket med hjälp av “pip”-verktyget på Raspberry Pi OS Bookworm, finns det ytterligare åtgärder som måste utföras, vilket inkluderar upprättandet av en virtuell Python-miljö. Nedan hittar du de nödvändiga procedurerna för denna uppgift.

Vad har ändrats i Raspberry Pi OS Bookworm?

När du uppgraderar till den senaste Raspberry Pi 5-enheten är det viktigt att komma ihåg att den kanske inte är kompatibel med tidigare iterationer av operativsystemet, nämligen Raspberry Pi OS. Därför måste en ny installation av den nyligen släppta “Bookworm”-utgåvan utföras för att säkerställa korrekt funktionalitet och kompatibilitet.

I tidigare versioner av det Debian-baserade Raspberry Pi OS, såsom Buster och dess tidigare utgåvor, hade användarna möjlighet att globalt installera Python-paket genom att använda pip-pakethanteraren. Denna funktion har dock tagits bort från den nyare versionen av Raspberry Pi OS som kallas Bookworm.

Som Raspberry Pi dokumentation förklarar, var problemet att användning av ett Python-specifikt verktyg som pip kunde orsaka konflikter med apt OS-pakethanteraren.

Följaktligen är det från och med Bookworm obligatoriskt att installera paket i en sanerad virtuell Python-miljö med hjälp av pip, för att förhindra eventuell inblandning i systemets version av Python.

När du försöker utföra kommandot “pip install [paketnamn]” utanför en virtuell miljö genereras ett felmeddelande som börjar på följande sätt:

 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.

Hur man söker efter Python-paket med Apt

Det första steget innebär att kontrollera om det Python-paket som krävs kan installeras via den systemomfattande pakethanteraren APT (Advanced Package Tool). För att utföra den här uppgiften kan man använda kommandot “apt search” för att bläddra igenom de officiella arkiven och hitta relevanta paket.Som en illustration kan du utföra följande kommando:

 apt search numpy 

Observera att du måste installera ett specifikt paket med namnet “python3-numpy” som är kompatibelt med din Python version 3. För att göra detta använder du pakethanteraren APT tillsammans med administratörsbehörigheten som beviljas genom att använda “sudo”.

 sudo apt install python3-numpy 

I fall där det önskade Python-paketet inte kan erhållas genom användning av APT-pakethanteraren, eller om en uppdaterad version krävs, måste man använda det specialiserade pip-verktyget i en virtuell Python-miljö för installationsändamål.

Hur man skapar en virtuell Python-miljö

För att installera ett Python-paket med hjälp av pip-verktyget i operativsystemet Raspberry Pi OS Bookworm, är det inledningsvis nödvändigt att skapa en virtuell Python-miljö med hjälp av kommandot venv. Följaktligen benämner vi vår särskilda instans som “muo-project”, även om man kan välja en alternativ beteckning som man själv väljer.

 python -m venv muo-project 

Den tid som krävs för att slutföra denna uppgift kan variera beroende på vilken specifik Raspberry Pi-modell som används. Därefter måste man navigera till den nyligen upprättade virtuella miljömappen, som innehåller en hel Python-installation, och initiera dess aktivering.

 cd muo
source bin/activate 

Den virtuella miljön för Python har upprättats och initierats, vilket framgår av ändringen i systemprompten som nu visar “muo-project”, vilket indikerar att miljöns specifika instans av Python används snarare än den vanliga systeminstallationen. Följaktligen kommer eventuella ändringar som görs i den virtuella miljön eller paket som installeras däri inte att påverka Python-installationen på systemet.

/sv/images/create-python-virtual-environment.jpg

Observera att vid en omstart av systemet, t.ex. en omstart av Raspberry Pi, måste Python runtime-miljön återaktiveras för fortsatt användning.

För att skapa en virtuell Python-miljö som speglar alla Python-paket som för närvarande är installerade på ditt operativsystem, inkluderar du bara alternativet --system-site-packages i det relevanta kommandot. Man kan t.ex. ange python -m venv --system-site-packages muo-project .

Installera Python-paket med Pip

För att kunna utnyttja funktionerna i en virtuell Python-miljö kan man använda kommandot pip för att installera alla nödvändiga paket som krävs för projektet.Som exempel kan du installera stresstestverktyget Stressberry genom att köra följande kommando:

 pip install stressberry 

Modulen kommer att installeras i den virtuella Python-miljön tillsammans med de nödvändiga beroendena. Det är viktigt att notera att modulens tillgänglighet är begränsad till den ovan nämnda virtuella miljön och inte sträcker sig längre än så.

/sv/images/pip-install-package.jpg

Inga fler Python-paketkonflikter

Att använda pip-verktyget för att installera Python-paket på en Raspberry Pi med operativsystemet Bookworm kräver ytterligare procedurer jämfört med traditionella system; denna metod erbjuder dock fördelen att begränsa dessa paket till isolerade virtuella miljöer och därigenom förhindra potentiella störningar eller funktionsfel i hela systemet.