Jak zainstalować pakiety Pythona w Bookwormie Raspberry Pi OS

  • Raspberry Pi OS Bookworm wymaga instalacji pakietów Pythona w środowisku wirtualnym, aby zapobiec konfliktom z systemową wersją Pythona.
  • Możesz użyć menedżera pakietów apt, aby wyszukać i zainstalować pakiety Pythona, ale jeśli pakiet nie jest dostępny lub potrzebujesz nowszej wersji, będziesz musiał użyć narzędzia pip w środowisku wirtualnym.
  • Wszelkie zmiany lub instalacje dokonane w środowisku wirtualnym nie będą miały wpływu na systemową wersję Pythona.

Masz problemy z instalacją pakietów Pythona za pomocą narzędzia „pip” w Raspberry Pi OS Bookworm? Należy wykonać kilka dodatkowych kroków, obejmujących utworzenie wirtualnego środowiska Python. Oto jak to zrobić.

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

Ponieważ Raspberry Pi 5 jest niekompatybilny z wcześniejszymi wersjami systemu operacyjnego Raspberry Pi, konieczne będzie zainstalowanie na nim nowej wersji „Bookworm”. Jest to jedna z rzeczy, które należy wziąć pod uwagę przy przejściu na Raspberry Pi 5 z wcześniejszego modelu.

W poprzednich wersjach systemu operacyjnego Raspberry Pi OS opartego na Debianie (Buster i wcześniejsze) możliwe było bezpośrednie instalowanie bibliotek Pythona w całym systemie za pomocą narzędzia do zarządzania pakietami pip. Nie jest to już jednak prawdą w przypadku nowego Bookworma z systemem Raspberry Pi OS.

jako Dokumentacja Raspberry Pi wyjaśnia, 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.

Dlatego też, począwszy od Bookworm, podczas korzystania z pip pakiety muszą być instalowane w wirtualnym środowisku Pythona w trybie piaskownicy, co gwarantuje, że nie będą mogły kolidować z systemową wersją Pythona.

Jeśli spróbujesz użyć polecenia pip install [package name] gdziekolwiek indziej w systemie pojawi się błąd zaczynający się od tego tekstu:

 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.

Jak wyszukiwać pakiety Pythona za pomocą Apt

Pierwszą rzeczą, którą należy sprawdzić, jest to, czy potrzebny pakiet Pythona jest dostępny do zainstalowania za pomocą ogólnosystemowego menedżera pakietów apt. Możesz wyszukiwać pakiety w oficjalnym repozytorium za pomocą polecenia apt search. Na przykład:

 apt search numpy 

Zanotuj nazwę pakietu, w tym przypadku python3-numpy (dla Pythona w wersji 3), a następnie zainstaluj go za pomocą apt (z przedrostkiem Sudo dla wymaganych uprawnień administratora do instalacji):

 sudo apt install python3-numpy 

Jeśli potrzebny pakiet Pythona nie jest dostępny za pomocą menedżera pakietów apt lub potrzebujesz jego nowszej wersji, będziesz musiał użyć specyficznego dla Pythona narzędzia pip, aby go zainstalować – w wirtualnym środowisku Python.

Jak utworzyć wirtualne środowisko Pythona

Aby zainstalować pakiet Pythona za pomocą narzędzia pip w Raspberry Pi OS Bookworm, musisz najpierw utworzyć wirtualne środowisko Pythona za pomocą venv. Nazwaliśmy nasz „muo-projekt”, ale możesz użyć dowolnej nazwy:

 python -m venv muo-project 

Zajmie to trochę czasu, w zależności od używanego modelu Raspberry Pi. Następnie będziesz musiał zmienić katalog na nowo utworzony folder środowiska, który zawiera pełną dystrybucję Pythona, i aktywować go:

 cd muo
source bin/activate

Wirtualne środowisko Python jest teraz gotowe do użycia, a monit systemowy będzie poprzedzony jego nazwą — w tym przypadku muo-project. To pokazuje, że nie używasz już systemowej wersji Pythona, ale tej znajdującej się w Twoim środowisku wirtualnym. Zatem wszelkie zmiany, które w nim wprowadzisz lub zainstalujesz moduły, nie będą miały wpływu na systemowy Python.

Pamiętaj, że jeśli ponownie uruchomisz Raspberry Pi, będziesz musiał ponownie aktywować środowisko Python, aby móc z niego ponownie korzystać.

Jeśli chcesz utworzyć wirtualne środowisko Pythona z kopią wszystkich modułów Pythona aktualnie zainstalowanych na poziomie systemu operacyjnego, możesz to zrobić dodając w poleceniu flagę –system-site-packages. Np.: python -m venv –system-site-packages muo-project.

Zainstaluj pakiety Pythona za pomocą Pip

Z poziomu aktywnego środowiska wirtualnego Python możesz teraz zainstalować dowolne potrzebne pakiety za pomocą polecenia pip. Na przykład, aby zainstalować narzędzie do testowania warunków skrajnych systemu Stressberry:

 pip install stressberry 

Następnie zainstaluje moduł wraz ze wszystkimi wymaganymi zależnościami w wirtualnym środowisku Python. Należy pamiętać, że moduł będzie dostępny tylko tam, a nie w całym systemie.

Koniec z konfliktami pakietów Pythona

Chociaż instalacja pakietów Pythona w Raspberry Pi OS Bookworm przy użyciu narzędzia pip wymaga dodatkowych kroków, zaletą jest to, że dopiero wtedy znajdują się one w środowisku wirtualnym i dlatego nie mogą zakłócać ani łamać systemu.