Pyton

Jak tworzyć i zarządzać wirtualnymi środowiskami Pythona

Jak tworzyć i zarządzać wirtualnymi środowiskami Pythona
Często zdarza się, że programiści Pythona instalują i aktualizują pakiety ze standardowych i niestandardowych źródeł w celu tworzenia aplikacji. Przyczyny mogą być różne, od korzystania z nowszej wersji modułu po użycie konkretnej wersji w przypadku regresji.

Te wymagania i przypadki użycia mogą być trudne do opanowania, gdy różne aplikacje wymagają różnych wersji tej samej biblioteki. Na szczęście Python zapewnia solidne rozwiązanie do izolowania środowisk programistycznych przy użyciu środowisk wirtualnych.

Co to jest wirtualne środowisko Pythona?

Środowisko wirtualne Pythona to samodzielne drzewo katalogów, które zawiera określoną instalację Pythona wraz ze wszystkimi jego standardowymi bibliotekami. Aplikacje wymagające określonej wersji biblioteki mogą być izolowane w tych środowiskach wirtualnych bez zanieczyszczania systemu lub innych implementacji Pythona. Każde środowisko wirtualne jest osobną piaskownicą, dzięki czemu możesz stworzyć dowolną liczbę środowisk wirtualnych.

Tworzenie i zarządzanie środowiskami wirtualnymi

Aby utworzyć środowiska wirtualne w Ubuntu, najpierw zainstaluj wymagany pakiet zależności, uruchamiając polecenie:

$ sudo apt install python3-venv

Możesz teraz tworzyć wirtualne środowiska, uruchamiając polecenie:

$ python3 -m venv myenv

Uruchomienie powyższego polecenia spowoduje utworzenie wirtualnego środowiska o nazwie „myenv” w twoim katalogu domowym. Jeśli chcesz użyć innej wersji Pythona, możesz zastąpić „python3” powyżej pełną ścieżką do lokalizacji alternatywnego pliku binarnego Pythona.

Aby aktywować utworzone powyżej niestandardowe środowisko, uruchom polecenie:

$ źródło myenv/bin/activate

Po aktywowaniu środowiska wirtualnego monit powłoki zmieni się, odzwierciedlając aktualnie używane środowisko wirtualne. Jeśli uruchomisz „sys.path” wewnątrz interpretera Pythona, widać, że wirtualne środowisko działa poprawnie. Python będzie teraz szukał pakietów w niestandardowym środowisku, które właśnie utworzyłeś.

Jeśli znak zachęty powłoki nie pokazuje nazwy środowiska wirtualnego jako prefiksu, każdy plik Pythona, który uruchomisz, będzie zamiast tego używać Pythona systemowego. Dlatego konieczne jest pobranie środowiska wirtualnego przed uruchomieniem pliku w niestandardowym środowisku.

Możesz dezaktywować środowisko wirtualne, uruchamiając polecenie:

$ dezaktywuj

Każde wirtualne środowisko Pythona zawiera „pyvenv.cfg” z kluczem „include-system-site-packages”, który domyślnie jest ustawiony na „false”. Ten klucz mówi środowisku wirtualnemu, czy używać pakietów witryn systemowych, czy nie. Jeśli ustawione na „true”, Python w środowisku wirtualnym będzie sprawdzał pakiety systemowe w przypadku, gdy pakiet nie zostanie znaleziony w środowisku wirtualnym. Dzięki temu wszystkie pakiety zainstalowane w systemie będą importowane do środowiska wirtualnego.

Aby usunąć środowisko wirtualne, wystarczy usunąć katalog środowiska wirtualnego, a zniknie.

Możliwe jest tworzenie i przechowywanie virtualenv na zewnętrznych dyskach USB. Musisz mieć dysk USB sformatowany w systemie plików NTFS lub EXT. System plików FAT32 nie obsługuje dowiązań symbolicznych, co jest wymagane do działania środowisk wirtualnych.

Używanie Menedżera pakietów Pip do instalowania pakietów w środowisku wirtualnym

W środowisku wirtualnym możesz użyć menedżera pakietów pip, aby zainstalować, zaktualizować i odinstalować pakiety. Możliwe jest obniżenie lub uaktualnienie pakietu, określając konkretny numer wersji.

Możesz zainstalować pakiet za pomocą pip, uruchamiając polecenie (zamień pygame na żądaną nazwę pakietu):

$ pip zainstaluj pygame

Przeszukiwalne repozytorium pakietów pip można znaleźć tutaj.

Aby odinstalować pakiet, użyj polecenia:

$ pip odinstaluj pygame

Aby zobaczyć wszystkie wersje pakietu, uruchom polecenie:

$ pip zainstaluj pygame==

Aby obniżyć lub zaktualizować do określonej wersji, użyj polecenia (zastąp „1.9.5” z wybranym numerem wersji):

$ pip zainstaluj pygame==1.9.5

Aby zaktualizować pakiet do najnowszej wersji, uruchom polecenie:

$ pip install --uaktualnij pygame

Aby zobaczyć wszystkie pakiety zainstalowane w środowisku wirtualnym, uruchom polecenie:

$ lista pipsów

Aby zapisać listę zainstalowanych pakietów wewnątrz virtualenv, uruchom polecenie:

$ zamrożenie pipsa > wymagania.tekst

Możesz użyć powyższych „wymagań.txt” do zbiorczej instalacji pakietów. Jednym z przypadków użycia jest zduplikowanie istniejącego środowiska poprzez zainstalowanie wszystkich pakietów od podstaw. Aby zbiorczo zainstalować pakiety pip, uruchom polecenie:

$ pip install -r wymagania.tekst

Korzystanie ze środowisk wirtualnych Pythona z aplikacjami innymi niż Python

Aplikacje napisane w innych językach programowania mogą być piaskowane w środowiskach wirtualnych Pythona, o ile pip lub inny menedżer pakietów Pythona udostępnia binaria i pakiety dla tych alternatywnych języków programowania/frameworków.

Oto mały przykład wyjaśniający instalację Node.js w środowisku wirtualnym Pythona. Uruchom kolejno następujące polecenia:

$ python3 -m venv my_node_env
$ source my_node_env/bin/activate
$ pip zainstalować koło
$ pip zainstaluj nodeenv
$ nodeenv -p
$ nodeenv --wersja
$ node --wersja

Gdy to zrobisz, będziesz miał całkowicie odizolowany węzeł.środowisko js. Możesz utworzyć dowolną liczbę środowisk wirtualnych dla różnych węzłów.aplikacje js. Pakiety instalowane przez menedżera pakietów npm będą ograniczone tylko do aktywowanego środowiska wirtualnego.

Wniosek

Tworzenie wirtualnego środowiska Pythona to doskonały sposób na konteneryzację środowisk programistycznych. Każde środowisko wirtualne ma swój własny plik binarny Pythona i własny niezależny zestaw pakietów. Tworzenie wielu aplikacji Pythona w tym samym systemie może szybko zanieczyścić katalog domowy i główny, a środowiska wirtualne ułatwiają ich utrzymanie.

Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
Gry OpenTTD Tutorial
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...