Tyto požadavky a případy použití mohou být obtížnou správou, když různé aplikace vyžadují různé verze stejné knihovny. Naštěstí Python poskytuje robustní řešení pro izolaci vývojových prostředí pomocí virtuálních prostředí.
Co je to virtuální prostředí Pythonu?
Virtuální prostředí Pythonu je samostatný adresářový strom, který obsahuje specifickou instalaci Pythonu spolu se všemi jeho standardními knihovnami. Aplikace vyžadující konkrétní verzi knihovny lze v těchto virtuálních prostředích izolovat bez znečištění systému nebo jiných implementací Pythonu. Každé virtuální prostředí je samostatným izolovaným prostorem, takže můžete vytvořit tolik virtuálních prostředí, kolik chcete.
Vytváření a správa virtuálních prostředí
Chcete-li vytvořit virtuální prostředí v Ubuntu, nejprve nainstalujte požadovaný balíček závislostí spuštěním příkazu:
$ sudo apt nainstalovat python3-venvNyní můžete vytvořit virtuální prostředí spuštěním příkazu:
$ python3 -m venv myenvSpuštěním výše uvedeného příkazu vytvoříte ve svém domovském adresáři virtuální prostředí s názvem „myenv“. Pokud chcete použít jakoukoli jinou verzi Pythonu, můžete výše uvedený výraz „python3“ nahradit úplnou cestou k umístění vašeho alternativního binárního souboru Pythonu.
Chcete-li aktivovat vlastní prostředí vytvořené výše, spusťte příkaz:
$ source myenv / bin / ActivateJakmile je virtuální prostředí aktivováno, výzva prostředí se změní tak, aby odrážela aktuální virtuální prostředí, které používáte. Pokud spustíte „sys.cesta ”uvnitř interpretu Pythonu, můžete vidět, že virtuální prostředí funguje správně. Python nyní bude hledat balíčky uvnitř vlastního prostředí, které jste právě vytvořili.
Pokud se ve výzvě prostředí shellu nezobrazuje název virtuálního prostředí jako předpona, použije se místo toho jakýkoli spuštěný soubor Python systémový Python. Před spuštěním souboru ve vašem vlastním prostředí je tedy nutné vytvořit virtuální prostředí.
Virtuální prostředí můžete deaktivovat spuštěním příkazu:
$ deaktivovatKaždé virtuální prostředí Pythonu obsahuje „pyvenv.soubor cfg s klíčem „include-system-site-packages“, který je ve výchozím nastavení nastaven na „false“. Tento klíč říká virtuálnímu prostředí, zda má používat systémové balíčky webů či nikoli. Pokud je nastaveno na „true“, Python ve virtuálním prostředí prohlédne systémové balíčky v případě, že balíček ve virtuálním prostředí nebyl nalezen. Umožní také import všech balíků nainstalovaných v systému do virtuálního prostředí.
Chcete-li odstranit virtuální prostředí, stačí odstranit adresář virtuálního prostředí a bude pryč.
Je možné vytvářet a ukládat virtuální soubory na externí USB disky. Budete muset mít jednotku USB naformátovanou v systému souborů NTFS nebo EXT. Souborový systém FAT32 nepodporuje symbolické odkazy, což je podmínkou fungování virtuálních prostředí.
Použití Pip Package Manager k instalaci balíčků uvnitř virtuálního prostředí
Ve virtuálním prostředí můžete pomocí správce balíčků pip instalovat, upgradovat a odinstalovat balíčky. Je možné downgradovat nebo upgradovat balíček zadáním konkrétního čísla verze.
Balíček můžete nainstalovat pomocí pipu spuštěním příkazu (nahraďte pygame požadovaným názvem balíčku):
$ pip install pygame
Prohledávatelné úložiště pip balíčků najdete zde.
Chcete-li odinstalovat balíček, použijte příkaz:
$ pip odinstalovat pygame
Chcete-li zobrazit všechny verze balíčku, spusťte příkaz:
$ pip install pygame ==
Chcete-li provést downgrade nebo upgrade na konkrétní verzi, použijte příkaz (nahraďte „1.9.5 ”s požadovaným číslem verze):
$ pip install pygame == 1.9.5
Chcete-li upgradovat balíček na nejnovější verzi, spusťte příkaz:
$ pip install - upgrade pygame
Chcete-li zobrazit všechny balíčky nainstalované ve virtuálním prostředí, spusťte příkaz:
$ pip seznam
Chcete-li uložit seznam nainstalovaných balíků uvnitř virtualenv, spusťte příkaz:
$ pip freeze> požadavky.txtMůžete použít výše uvedené „požadavky.txt ”soubor pro hromadnou instalaci balíčků. Jedním z případů použití je duplikování stávajícího prostředí instalací všech balíků od začátku. Chcete-li hromadně nainstalovat balíčky pip, spusťte příkaz:
$ pip install -r požadavky.txtPoužívání virtuálních prostředí Pythonu s aplikacemi, které nejsou Python
Aplikace napsané v jiných programovacích jazycích lze izolovat ve virtuálních prostředích Pythonu, pokud pip nebo jakýkoli jiný správce balíčků Pythonu poskytuje binární soubory a balíčky pro tyto alternativní programovací jazyky / rámce.
Zde je malý příklad, který vysvětluje instalaci Node.js ve virtuálním prostředí Pythonu. Postupně spusťte následující příkazy:
$ python3 -m venv my_node_env$ source my_node_env / bin / Activate
$ pip instalační kolo
$ pip install nodeenv
$ nodeenv -p
$ nodeenv - verze
$ node --verze
Po dokončení budete mít zcela izolovaný uzel.prostředí js. Pro jiný uzel můžete vytvořit tolik virtuálních prostředí, kolik chcete.aplikace js. Balíčky nainstalované prostřednictvím správce balíčků npm budou omezeny pouze na aktivované virtuální prostředí.
Závěr
Vytvoření virtuálního prostředí Pythonu je vynikající způsob, jak kontejnerovat vývojová prostředí. Každé virtuální prostředí má svůj vlastní binární soubor Pythonu a vlastní nezávislou sadu balíčků. Vývoj více aplikací Pythonu ve stejném systému může rychle znečišťovat váš domovský a kořenový adresář a virtuální prostředí usnadňuje jejich údržbu.