Samouczek Python Virtualenv

Samouczek Python Virtualenv

Podczas pracy nad projektem Python zaleca się tworzenie wirtualnego środowiska dla projektu, tak aby odizolować wymagania projektu od systemu. Poza tym środowisko wirtualne jest najlepszym sposobem na oddzielenie zależności, gdy masz różne projekty wymagające różnych wersji tego samego pakietu.

Ten przewodnik zawiera praktyczny samouczek na temat wirtualnego środowiska Pythona. Zaczniemy od zrozumienia, czym jest wirtualne środowisko Pythona, jego korzyści i jak tworzyć, aktywować i usuwać wirtualne środowisko Python.

Zrozumienie wirtualnego środowiska Pythona

Korzystanie z środowisk wirtualnych jest powszechne podczas pracy z Python Development. Wirtualne środowisko Python to izolowane środowisko programistyczne, które pozwala programistom mieć izolowaną przestrzeń zawierającą kopię Python.

W środowisku wirtualnym możesz zainstalować inne narzędzia wymagane do projektu. Ponadto możesz mieć wiele wirtualnych środowisk przy użyciu różnych wersji tego samego programu bez wpływu na pakiety globalne.

Idealnie, wirtualne środowisko pozwala pracować na wielu kopiach Pythona z różnych programów z różnymi programami dla różnych projektów. Każde utworzone wirtualne środowisko Python zawiera interpreter Python i folder dla zainstalowanych bibliotek stron trzecich. Zmiany dokonane w środowisku wirtualnym nie wpływają na zależności innych stworzonych środowisk wirtualnych.

Dlaczego warto korzystać z wirtualnych środowisk Python?

Praca w wirtualnym środowisku zapewnia odosobnioną przestrzeń roboczą, która nie może wpływać na pakiety systemowe. Dlatego możesz mieć miejsce na opracowanie swoich projektów bez wpływu na inne pakiety lub zależności zainstalowane w systemie.

Ponadto możliwe jest posiadanie wielu środowisk wirtualnych o tych samych zainstalowanych programach, ale działających w różnych wersjach. Na przykład, jeśli twój projekt wymaga Numpy 2.1 i inny wymaga Numpy 2.0, Możesz zainstalować określoną wersję dla każdego środowiska wirtualnego. Korzystanie z wirtualnego środowiska zapewnia, że ​​nie otrzymamy problemów z kompatybilnością, ponieważ Python nie może mieć dwóch wersji pakietu uruchomionego na jednym systemie.

Podczas pracy nad projektem Python najlepiej tworzyć wirtualne środowisko i zainstalować wszystkie jego potrzebne zależności zamiast instalować pakiety na całym świecie. W ten sposób utrzymasz swój system w czystości i unikniesz globalnych błędów zależności.

Praca z wirtualnymi środowiskami Python

Omówiliśmy, czym jest wirtualne środowisko Pythona i jakie korzyści oferuje. Następnym krokiem jest utworzenie i użycie wirtualnego środowiska Python.

Python oferuje dwa narzędzia do tworzenia wirtualnego środowiska, Virtualenv i Venv. Virtualenv współpracuje ze starszymi wersjami Python i musi być zainstalowany w systemie, zanim będzie można go użyć. Jednakże Venv Obsługuje nowsze wersje Pythona i jest wstępnie zainstalowany z Python 3.3 lub wyższe wersje. Sprawdź więc wersję Python, której używasz, aby wiedzieć, które narzędzie działa dla Twojej obudowy.

Tworzenie wirtualnego środowiska Pythona

W tym samouczku używamy Ubuntu 22.04 i działa Python3. Więc będziemy używać Venv Jako narzędzie do środowiska wirtualnego. Utworzymy folder, w którym stworzymy nasze wirtualne środowisko Python. Nazwijmy nasz folder projektu Linuxhint.\

Zanim utworzymy środowisko wirtualne, musisz mieć pypeć zainstalowane. Sprawdź to, sprawdzając swoją wersję.

$ pip --version

Jeśli PIP nie jest zainstalowany, zainstaluj go w następujący sposób.

$ sudo apt instal Python3-Pip

Ponadto, w przypadku systemów Debian/Ubuntu, musisz zainstalować pakiet Python3-Venv, aby użyć go do tworzenia środowiska wirtualnego. Jeśli spróbujesz utworzyć środowisko wirtualne bez instalowania pakietu, napotkasz ten błąd.

Więc uruchom poniższe polecenie, aby zainstalować pakiet Pyuthon3-Venv

$ sudo apt instal Python3.10-venv

Naciśnij Y, gdy jest wyświetlany monit o kontynuację instalacji.

Jesteś teraz gotowy do utworzenia wirtualnego środowiska w folderze projektu za pomocą narzędzia Venv. Użyj poniższego polecenia i nazwij swoje wirtualne środowisko do upodobań. W naszym przypadku nazwaliśmy to test1.

$ Python3 -m Venv Test1

Zauważysz, że nowy folder zostanie utworzony w folderze projektu, potwierdzając, że nasze wirtualne środowisko zostało pomyślnie utworzone. Utworzony folder zawiera niezbędne narzędzia wymagane do rozwoju Pythona.

Dlatego masz teraz kopię Python w wirtualnym środowisku, w którym możesz zainstalować wymagane pakiety dla swojego projektu.

Aktywowanie wirtualnego środowiska Pythona

Nie możesz używać utworzonego wirtualnego środowiska, dopóki go nie aktywujesz. Oto składnia do aktywacji środowiska wirtualnego.

$ Source Virtualenv-name/bin/aktywuj

Po aktywacji środowiska wirtualnego zauważysz, że jego nazwa pojawi się na początku montażu terminalu. Innym sposobem sprawdzenia, czy środowisko wirtualne zostało aktywowane, jest użycie Który polecenie zlokalizowania Pythona w środowisku wirtualnym.

Jeśli środowisko wirtualne zostanie aktywowane, polecenie zwróci ścieżkę do interpretera Pythona utworzonego po aktywowaniu środowiska wirtualnego.

$ Który Python

Pamiętaj, że wersja Python dla twojego systemu to ta sama wersja dostępna w utworzonym środowisku wirtualnym. Sprawdź wersję Pythona, aby zweryfikować. Użyliśmy Pythona 3.10.6 Podczas tworzenia środowiska wirtualnego i jest to ta sama wersja dostępna w aktywowanym środowisku wirtualnym.

Możesz teraz zacząć instalować pakiety do rozwoju Pythona.

Instalowanie pakietów w środowisku wirtualnym

Tylko w nowo utworzonym środowisku wirtualnym Python PIP i SETUPTOOLOTY są dostępne. Dwa pakiety są domyślnie zainstalowane i można wymienić dostępne pakiety za pomocą polecenia PIP.

Możesz użyć polecenia PIP, gdy chcesz więcej pakietów. Oto składnia do instalacji pakietu w środowisku wirtualnym.

$ Python3 -m instalacja pip

Powyższa składnia zainstaluje najnowszą wersję dla określonego pakietu. Przyjrzyjmy się temu przykładowi, aby zainstalować Numpy z poleceniem poniżej.

$ Python3 -m Pip Instal Numpy

PIP zbierze określony pakiet, pobierze go i zainstaluje. Po zakończeniu instalacji możesz wymienić zainstalowane pakiety za pomocą Lista PIP polecenie, aby sprawdzić, czy Numpy jest dostępna i zainstalowana wersja.

W tej sprawie zainstalowaliśmy Numpy 1.23.5. Co jeśli chcielibyśmy niższej wersji Numpy niż 1.2? W takim przypadku możesz określić określoną wersję za pomocą poniższej składni.

$ Python3 -m PIP Instaluj Numpy == 1.20.0

Tutaj określamy dokładną wersję za pomocą znaku podwójnego równego.

Alternatywnie, używając mniej niż znak z poniższą składnią, możesz określić PIP, aby zainstalować dowolną niższą wersję.

$ Python3 -m instaluj numpy<1.20'

Poświęćmy i zobaczmy, jak to osiągnąć, ale najpierw musimy zainstalować zainstalowaną wersję Numpy. Użyj poniższego polecenia, aby go odinstalować.

$ Python3 -m Pip Uninstall Numpy

Naciskać y Aby zakończyć odinstalowanie. Możemy sprawdzić, czy Numpy nie pojawia się już na liście zainstalowanych pakietów.

Po odinstalowaniu, spróbujmy zainstalować niższą wersję Numpy.

Na powyższym obrazku zauważysz, że PIP instaluje Numpy-1.19.5, czyli niższa wersja niż 1.20. Ta funkcja jest pomocna przy budowaniu projektu Python, który opiera się na starszych wersjach danego pakietu. W takim przypadku możesz wygodnie obsługiwać opracowywanie, instalując dowolną wersję wymaganego pakietu.

Załóżmy, że chciałeś wyższej wersji. W takim przypadku użyj większy niż znak, Jak pokazano w poniższej składni.

$ Python3 -m instaluj „Pakiet -name> wersja”

Na przykład poniższy przykład określa, że ​​chcemy zainstalować Numpy, ale o wyższej wersji niż 1.20. W ostatnim wierszu możemy zauważyć, że PIP zainstalował Numpy wersję 1.23.5, czego chcieliśmy.

Podczas pracy z wirtualnym środowiskiem Python najlepiej jest określić dokładną wersję pakietu, której chcesz użyć dla danego projektu. Dobra wiadomość jest taka, że ​​możesz mieć dwa projekty przy użyciu tego samego pakietu, ale z inną wersją, w zależności od wymagań każdego projektu.

Na przykład, jeśli chcieliśmy zainstalować Wersja Pandy 1.3.5, moglibyśmy użyć poniższego polecenia.

$ python3 -m instaluj pand == 1.3.5

W powyższym przykładzie zauważamy, że instalacja pandy również automatycznie zainstalowała jego zależności. Dlatego jeśli wymienimy dostępne pakiety, zauważymy, że zainstalowaliśmy określony pakiet oraz jego wersję i inne zależności.

Odtwarzanie wirtualnego środowiska

Podczas pracy z wirtualnym środowiskiem Python powszechne jest je odtwarzać, gdy ktoś chce pracować nad tym samym projektem przy użyciu tych samych pakietów i wersji, które zainstalowałeś. Może się to być z kimś podzielić się swoim projektem, a oni muszą używać tych samych pakietów, których użyłeś do uruchomienia projektu. W takim przypadku najpierw użyj zamrażać polecenie wymienienia wszystkich pakietów projektu i zainstalowanych wersji.

$ Pip Freeze

Naszym celem jest tworzenie identycznych środowisk o tych samych zależnościach. Dlatego powinniśmy wyeksportować powyższe dane wyjściowe do pliku tekstowego, tak abyśmy mogli udostępnić je komuś, aby stworzyć identyczne środowisko.

Oto jak wyeksportować zależności.

$ pip freeze> identyczny.tekst

Możemy zweryfikować zawartość utworzonego pliku tekstowego, aby upewnić się, że mamy takie same zależności przed udostępnieniem.

Teraz powiedzmy identyczne środowisko w tym samym folderze projektu i aktywuj je.

Aby odtworzyć środowisko, zainstaluj zależności za pomocą pliku tekstowego, który wygenerowaliśmy wcześniej dla drugiego środowiska wirtualnego. Oto jak zainstalować zależności.

$ pip instalacja -r identyczna.tekst

PIP zainstaluje wszystkie nazwane pakiety i ich wersje.

Ostatnim krokiem jest sprawdzenie, czy mamy identyczne wirtualne środowisko zawierające wszystkie wymagane zależności. Sprawdź, czy za pomocą polecenia listy PIP.

Możemy sprawdzić, czy mamy teraz identyczne wirtualne środowisko. Zauważ, że udostępniony plik pozwala drugiej osobie tworzyć identyczne wirtualne środowisko zawierające pakiety, interpreter Python itp. Jednak kod źródłowy projektu nie jest zawarty w środowisku wirtualnym, ale w folderze projektu.

Jeśli więc chcesz udostępnić kod źródłowy, skopiuj go z folderu projektu, a nie z folderu środowiska wirtualnego.

Dezaktywacja środowiska wirtualnego

Istnieją dwie opcje dezaktywacji środowiska wirtualnego Pythona. Możesz go dezaktywować, aby uzyskać do niego dostęp lub usunąć środowisko wirtualne bez wpływu na system.

Załóżmy, że chcesz dezaktywować wirtualne środowisko i przełączyć się, aby użyć innego. Użyj dezaktywować Komenda.

$ dezaktywuj

Po dezaktywowaniu środowiska wirtualnego monit terminali powróci do folderu projektu. Jeśli wolisz usunąć środowisko wirtualne, musisz usunąć jego folder za pomocą Rm Komenda.

W poniższym przykładzie usunęliśmy Demo2 wirtualne środowisko.

Tak całkowicie usunąć wirtualne środowisko Pythona.

Wniosek

Wirtualne środowiska są przydatne, gdy chcesz pracować nad różnymi projektami wymagającymi różnych wersji tego samego pakietu. Wszystko, co jest potrzebne, to utworzenie wirtualnego środowiska dla każdego projektu i zainstalowanie jego zależności bez wpływu na inne wirtualne środowiska lub globalne pakiety. W tym przewodniku omówiono, czym jest wirtualne środowisko Pythona, dlaczego go potrzebujesz i jak go tworzyć, aktywować i usunąć środowisko wirtualne. Dzięki temu możesz wdrożyć to samo dla swoich projektów Python.