Jak zainstalować pakiety Pythona w Bookwormie Raspberry Pi OS

Photo of author

By maciekx

Najważniejsze aspekty instalacji oprogramowania Python

  • System Raspberry Pi OS Bookworm wymaga instalacji pakietów Pythona w odizolowanym środowisku, aby uniknąć problemów z wersją Pythona używaną przez system operacyjny.
  • Menedżer pakietów apt umożliwia wyszukiwanie i instalację pakietów Pythona, jednakże gdy poszukiwany pakiet nie jest dostępny lub potrzebna jest nowsza wersja, konieczne jest użycie narzędzia pip w środowisku wirtualnym.
  • Wszelkie zmiany lub instalacje przeprowadzone w środowisku wirtualnym nie mają żadnego wpływu na wersję Pythona używaną przez system.

Czy napotykasz trudności podczas instalacji pakietów Pythona za pomocą narzędzia „pip” w systemie Raspberry Pi OS Bookworm? Rozwiązanie wymaga wykonania kilku dodatkowych kroków, w tym utworzenia wirtualnego środowiska Python. Poniżej wyjaśniamy, jak to zrobić.

Zmiany wprowadzone w Raspberry Pi OS Bookworm

Z uwagi na fakt, że Raspberry Pi 5 nie jest kompatybilny z wcześniejszymi wersjami systemu Raspberry Pi OS, konieczna jest instalacja nowej wersji „Bookworm”. Jest to jeden z kluczowych aspektów, o którym należy pamiętać podczas migracji na Raspberry Pi 5 ze starszego modelu.

W starszych wersjach systemu operacyjnego Raspberry Pi OS opartego na Debianie (Buster i jego poprzednikach) można było bezpośrednio instalować biblioteki Pythona w całym systemie za pomocą menedżera pakietów pip. W nowej wersji Bookworm dla Raspberry Pi OS ta możliwość została wyłączona.

Jak wyjaśnia dokumentacja Raspberry Pi, problem polega na tym, że użycie narzędzia dedykowanego Pythonowi, takiego jak pip, mogło wywoływać konflikty z menedżerem pakietów apt systemu operacyjnego.

Z tego powodu, począwszy od wersji Bookworm, korzystając z pip, pakiety muszą być instalowane w odizolowanym wirtualnym środowisku Pythona. Dzięki temu nie będą one wchodziły w kolizję z wersją Pythona używaną przez system.

Próba użycia polecenia `pip install [nazwa pakietu]` w dowolnym innym miejscu systemu poskutkuje pojawieniem się komunikatu o błędzie, który zaczyna się od:

 error: externally-managed-environment

× To środowisko jest zarządzane zewnętrznie
╰─> Aby zainstalować pakiety Pythona w całym systemie, spróbuj apt install
  python3-xyz, gdzie xyz to pakiet, który chcesz
  zainstalować.

Jak wyszukiwać pakiety Pythona za pomocą Apt

Pierwszym krokiem jest sprawdzenie, czy poszukiwany pakiet Pythona jest dostępny do instalacji za pomocą systemowego menedżera pakietów apt. Można to zrobić, przeszukując oficjalne repozytorium za pomocą polecenia `apt search`. Na przykład:

 apt search numpy 

Zanotuj nazwę pakietu, na przykład `python3-numpy` (dla Pythona w wersji 3) i zainstaluj go za pomocą apt (z użyciem `sudo` dla uzyskania wymaganych uprawnień administratora):

 sudo apt install python3-numpy 

Jeżeli szukany pakiet Pythona nie jest dostępny za pomocą menedżera pakietów apt lub wymagana jest jego nowsza wersja, konieczne będzie użycie narzędzia pip, typowego dla Pythona, do jego instalacji – ale tylko w środowisku wirtualnym.

Jak utworzyć wirtualne środowisko Pythona

Aby zainstalować pakiet Pythona za pomocą narzędzia pip w systemie Raspberry Pi OS Bookworm, najpierw należy utworzyć wirtualne środowisko Pythona za pomocą narzędzia `venv`. W naszym przykładzie nadamy mu nazwę „muo-projekt”, ale można użyć dowolnej nazwy:

 python -m venv muo-project 

Proces ten może zająć trochę czasu, w zależności od modelu Raspberry Pi. Następnie należy przejść do nowo utworzonego folderu środowiska, który zawiera pełną dystrybucję Pythona, i je aktywować:

 cd muo-project
source bin/activate

Teraz wirtualne środowisko Python jest gotowe do użycia, a w wierszu poleceń będzie widoczna jego nazwa, w tym przypadku `muo-project`. To oznacza, że nie korzystamy już z systemowej wersji Pythona, ale z tej znajdującej się w naszym środowisku wirtualnym. Wszystkie zmiany lub instalacje, które zostaną w nim przeprowadzone, nie będą miały wpływu na systemową wersję Pythona.

W przypadku ponownego uruchomienia Raspberry Pi konieczne będzie ponowne aktywowanie środowiska Python, aby móc z niego korzystać.

Istnieje możliwość utworzenia wirtualnego środowiska Pythona, które będzie zawierać kopie wszystkich modułów aktualnie zainstalowanych na poziomie systemu operacyjnego. W tym celu należy dodać flagę `–system-site-packages` do polecenia, np.: `python -m venv –system-site-packages muo-project`.

Instalacja pakietów Pythona przy pomocy Pip

Z poziomu aktywnego środowiska wirtualnego można teraz instalować pakiety za pomocą polecenia `pip`. Przykładowo, aby zainstalować narzędzie do testowania obciążenia systemu o nazwie Stressberry, należy użyć:

 pip install stressberry 

Spowoduje to instalację modułu wraz ze wszystkimi jego zależnościami w wirtualnym środowisku Python. Ważne jest, aby pamiętać, że zainstalowany moduł będzie dostępny tylko w tym środowisku, a nie w całym systemie.

Koniec z problemami z pakietami Pythona

Mimo że instalacja pakietów Pythona w systemie Raspberry Pi OS Bookworm za pomocą narzędzia pip wymaga dodatkowych kroków, korzyścią jest to, że pakiety działają w środowisku wirtualnym, co zapobiega zakłóceniom lub uszkodzeniom systemu.


newsblog.pl