Důležité body
- Operační systém Raspberry Pi OS Bookworm vyžaduje instalaci Python balíčků do izolovaného virtuálního prostředí, čímž se předejde konfliktům s Pythonem používaným systémem.
- Pro hledání a instalaci Python balíčků lze sice využít správce balíčků `apt`, ale pokud požadovaný balíček není dostupný nebo je vyžadována jeho novější verze, je nutné použít nástroj `pip` v rámci virtuálního prostředí.
- Veškeré úpravy a instalace provedené ve virtuálním prostředí nemají vliv na systémovou verzi Pythonu.
Máte potíže s instalací balíčků Python pomocí příkazu `pip` v systému Raspberry Pi OS Bookworm? Je zapotřebí provést několik dalších kroků, včetně vytvoření virtuálního prostředí. Zde je návod, jak na to.
Změny v Raspberry Pi OS Bookworm
Raspberry Pi 5 není kompatibilní se staršími verzemi operačního systému Raspberry Pi, proto je nutné instalovat novou verzi „Bookworm“. To je důležité zvážit při přechodu z předchozího modelu na Raspberry Pi 5.
Dřívější verze operačního systému Raspberry Pi OS založené na Debianu (Buster a starší) umožňovaly přímou systémovou instalaci knihoven Python pomocí správce balíčků `pip`. V novém Raspberry Pi OS Bookworm to však již není možné.
Jak dokumentace Raspberry Pi vysvětluje, problém spočíval v tom, že použití nástroje jako `pip`, specifického pro Python, mohlo vést ke konfliktům se správcem balíčků `apt` OS.
Proto je od verze Bookworm nutné instalovat balíčky pomocí `pip` do odděleného virtuálního prostředí Python, čímž se zajistí, že nedojde k zásahu do systémové verze Pythonu.
Při pokusu o použití příkazu `pip install [název balíčku]` mimo virtuální prostředí se zobrazí chyba s tímto textem:
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.
Hledání Python balíčků pomocí Apt
Nejprve je nutné ověřit, zda je požadovaný Python balíček dostupný k instalaci pomocí správce balíčků `apt`. Balíčky lze vyhledávat v oficiálním repozitáři pomocí příkazu `apt search`. Například:
apt search numpy
Zaznamenejte si název balíčku, v tomto případě `python3-numpy` (pro Python verzi 3), a poté jej nainstalujte pomocí `apt` (s příkazem `sudo` pro získání superuživatelských práv potřebných k instalaci):
sudo apt install python3-numpy
Pokud balíček Python, který potřebujete, není dostupný pomocí správce balíčků `apt`, nebo je potřeba novější verze, je nutné použít specifický nástroj `pip` v rámci virtuálního prostředí Python.
Vytvoření virtuálního prostředí Python
Pro instalaci balíčku Python pomocí `pip` v Raspberry Pi OS Bookworm je nutné nejprve vytvořit virtuální prostředí Python pomocí `venv`. My jsme náš pojmenovali „muo-projekt“, ale můžete použít libovolný název:
python -m venv muo-project
Vytvoření může chvíli trvat, v závislosti na použitém modelu Raspberry Pi. Poté je třeba přejít do nově vytvořené složky prostředí, která obsahuje kompletní distribuci Pythonu, a prostředí aktivovat:
cd muo-project
source bin/activate
Virtuální prostředí Python je nyní připraveno k použití a před systémovým promptem se zobrazí jeho název – v tomto případě „muo-project“. To indikuje, že již nepoužíváte systémovou verzi Pythonu, ale verzi v rámci virtuálního prostředí. Změny a instalované moduly neovlivní systémový Python.
Po restartování Raspberry Pi je nutné znovu aktivovat virtuální prostředí pro jeho další používání.
Je také možné vytvořit virtuální prostředí s kopií všech Python modulů aktuálně nainstalovaných v systému pomocí přidání parametru `–system-site-packages`. Příklad: `python -m venv –system-site-packages muo-project`.
Instalace Python balíčků pomocí Pip
V aktivním virtuálním prostředí Python lze nyní pomocí příkazu `pip` instalovat libovolné potřebné balíčky. Například pro instalaci nástroje pro zátěžové testování systému Stressberry:
pip install stressberry
Tím se nainstaluje modul spolu s jeho závislostmi do virtuálního prostředí Python. Důležité je, že tento modul bude dostupný pouze v tomto prostředí, ne v celém systému.
Žádné další konflikty Python balíčků
Přestože instalace Python balíčků v Raspberry Pi OS Bookworm pomocí `pip` vyžaduje další kroky, výhodou je, že balíčky jsou uloženy ve virtuálním prostředí a nemohou tak narušovat nebo ovlivňovat systém.