Contents

Jak zainstalować pakiety Pythona w Raspberry Pi OS Bookworm

Kluczowe wnioski

Raspberry Pi OS Bookworm wymaga wdrożenia modułów Pythona na platformie wirtualnej, jako środka zapobiegawczego przed wszelkimi niekorzystnymi zakłóceniami ze strony domyślnej implementacji Pythona na hoście.

Można użyć menedżera pakietów Apt, aby wyszukać i zainstalować moduły Pythona; jednak w przypadkach, gdy pakiet jest niedostępny lub wymagana jest zaktualizowana wersja, konieczne staje się użycie narzędzia Pip w środowisku wirtualnym.

W środowisku wirtualnym wszelkie modyfikacje lub dodatki do Pythona nie będą miały wpływu na instalację Pythona w całym systemie.

Jeśli napotkasz trudności podczas instalowania pakietów Pythona przy użyciu narzędzia “pip” na Raspberry Pi OS Bookworm, istnieją dodatkowe środki, które należy wykonać, w tym utworzenie wirtualnego środowiska Pythona. Poniżej znajdują się procedury niezbędne do wykonania tego zadania.

Co się zmieniło w Raspberry Pi OS Bookworm?

Podczas aktualizacji do najnowszego urządzenia Raspberry Pi 5 należy pamiętać, że może ono nie być kompatybilne z poprzednimi wersjami systemu operacyjnego, a mianowicie Raspberry Pi OS. W związku z tym należy przeprowadzić świeżą instalację nowo wydanej edycji “Bookworm”, aby zapewnić odpowiednią funkcjonalność i kompatybilność.

W poprzednich wersjach systemu operacyjnego Raspberry Pi opartego na Debianie, takich jak Buster i jego poprzednie wydania, użytkownicy mieli możliwość globalnej instalacji pakietów Pythona poprzez wykorzystanie menedżera pakietów pip. Funkcjonalność ta została jednak usunięta z nowszej wersji Raspberry Pi OS znanej jako Bookworm.

Jak wyjaśnia dokumentacja Raspberry Pi , problem polegał na tym, że użycie narzędzia specyficznego dla Pythona, takiego jak pip, mogło powodować konflikty z menedżerem pakietów apt OS.

W związku z tym, począwszy od Bookworm, obowiązkowe jest instalowanie pakietów w oczyszczonym wirtualnym środowisku Pythona za pomocą pip, aby zapobiec potencjalnym ingerencjom w systemową wersję Pythona.

Podczas próby wykonania polecenia “pip install [nazwa pakietu]” poza środowiskiem wirtualnym generowany jest komunikat o błędzie, który zaczyna się następująco:

 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.

How to Search for Python Packages With Apt

Pierwszym krokiem jest sprawdzenie, czy wymagany pakiet Pythona może zostać zainstalowany za pośrednictwem systemowego menedżera pakietów APT (Advanced Package Tool). Aby wykonać to zadanie, można użyć polecenia “apt search” do przeglądania oficjalnych repozytoriów i zlokalizowania odpowiednich pakietów.Jako przykład rozważ wykonanie następującego polecenia:

 apt search numpy 

Należy pamiętać, że należy zainstalować określony pakiet o nazwie “python3-numpy”, który jest zgodny z wersją Python 3. Aby to zrobić, użyj menedżera pakietów APT wraz z uprawnieniami administratora przyznanymi za pomocą “sudo”.

 sudo apt install python3-numpy 

W przypadkach, gdy żądanego pakietu Pythona nie można uzyskać za pomocą menedżera pakietów APT lub jeśli wymagana jest zaktualizowana wersja, należy użyć specjalistycznego narzędzia pip w wirtualnym środowisku Pythona do celów instalacji.

Jak utworzyć wirtualne środowisko Pythona

Aby zainstalować pakiet Pythona przy użyciu narzędzia pip w systemie operacyjnym Raspberry Pi OS Bookworm, początkowo konieczne jest utworzenie wirtualnego środowiska Pythona za pomocą polecenia venv. W związku z tym nazwaliśmy naszą konkretną instancję jako “muo-project”, chociaż można zdecydować się na alternatywne oznaczenie według własnego wyboru.

 python -m venv muo-project 

Czas wymagany do ukończenia tego zadania może się różnić w zależności od używanego modelu Raspberry Pi. Następnie należy przejść do nowo utworzonego folderu środowiska wirtualnego, w którym znajduje się cała instalacja Pythona, i zainicjować jego aktywację.

 cd muo
source bin/activate 

Środowisko wirtualne dla Pythona zostało pomyślnie utworzone i zainicjowane, o czym świadczy zmiana w monicie systemowym, który wyświetla teraz “muo-project”, wskazując, że wykorzystywana jest konkretna instancja Pythona, a nie standardowa instalacja systemu. W związku z tym wszelkie modyfikacje wprowadzone w środowisku wirtualnym lub zainstalowanych w nim pakietach nie będą miały wpływu na podstawową instalację Pythona w systemie.

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

Należy pamiętać, że w przypadku ponownego uruchomienia systemu, takiego jak ponowne uruchomienie Raspberry Pi, środowisko uruchomieniowe Python musi zostać ponownie aktywowane w celu dalszego użytkowania.

Aby utworzyć wirtualne środowisko Pythona, które odzwierciedla wszystkie pakiety Pythona aktualnie zainstalowane w systemie operacyjnym, wystarczy dołączyć opcję --system-site-packages do odpowiedniego polecenia. Na przykład, można wskazać python -m venv --system-site-packages muo-project .

Instalowanie pakietów Pythona za pomocą pip

Aby wykorzystać możliwości wirtualnego środowiska Pythona, można użyć polecenia pip do zainstalowania wszelkich niezbędnych pakietów, które są wymagane dla danego projektu.Jako przykład rozważmy zainstalowanie narzędzia do testowania warunków skrajnych systemu Stressberry, wykonując następujące polecenie:

 pip install stressberry 

Moduł zostanie zainstalowany w wyznaczonym środowisku wirtualnym Python wraz z wymaganymi zależnościami. Należy zauważyć, że dostępność modułu jest ograniczona wyłącznie do wspomnianego środowiska wirtualnego i nie wykracza poza nie.

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

Koniec z konfliktami pakietów Pythona

Wykorzystanie narzędzia pip do instalacji pakietów Pythona na Raspberry Pi działającym z systemem operacyjnym Bookworm wymaga dodatkowych procedur w porównaniu z tradycyjnymi systemami; podejście to oferuje jednak korzyść w postaci ograniczenia tych pakietów do izolowanych środowisk wirtualnych, zapobiegając w ten sposób potencjalnym zakłóceniom lub awariom całego systemu.