Jak zainstalować Pythona w inteligentny sposób

Python jest łatwy w użyciu, przyjazny dla początkujących i wystarczająco potężny, aby tworzyć solidne oprogramowanie dla prawie każdej aplikacji. Ale nadal jest to oprogramowanie jak każde inne, co oznacza, że ​​może być skomplikowane w konfiguracji i zarządzaniu.

W tym artykule omówimy, jak prawidłowo skonfigurować Pythona: jak wybrać odpowiednią wersję, jak uniemożliwić wielu wersjom nadepnięcie na siebie i jak uniknąć wszystkich innych ostrych krawędzi i potencjalnych pułapek wzdłuż sposób.

Wybierz odpowiednią wersję i dystrybucję Pythona

Ze względu na kompatybilność z modułami innych firm, zawsze najbezpieczniej jest wybrać wersję Pythona, która jest jedną z głównych wersji za bieżącą .

W chwili pisania tego tekstu Python 3.8.1 jest najnowszą wersją. Bezpiecznym rozwiązaniem jest zatem użycie najnowszej aktualizacji Pythona 3.7 (w tym przypadku Pythona 3.7.6). Zawsze możesz wypróbować najnowszą wersję Pythona w kontrolowany sposób - np. Na maszynie wirtualnej lub maszynie testowej - ale cofnięcie o jedną wersję gwarantuje najlepszą kompatybilność z popularnymi pakietami Pythona innych firm.

Python jest również dostępny w różnych dystrybucjach, podobnie jak Linux. Jednak w przeciwieństwie do Linuksa, Python oferuje jedną, „oficjalną” edycję o złotym standardzie, na którą zawsze można się oprzeć: CPython, wersję udostępnioną przez Python Software Foundation na python.org. Ponownie, jest to najbezpieczniejsza i najbardziej kompatybilna dystrybucja, z której nikt nie zostanie zwolniony za zbieranie. (Możesz później zechcieć zbadać inne dystrybucje Pythona, ponieważ dotyczą one konkretnych przypadków użycia, które możesz mieć, ale nie będziemy ich tutaj rozważać).

Jednym z kluczowych wyborów, których musisz dokonać, zwłaszcza w systemie Windows, jest użycie 32-bitowej lub 64-bitowej wersji języka Python. Najbardziej prawdopodobną odpowiedzią jest wersja 64-bitowa z następujących powodów:

  • Większość nowoczesnych systemów operacyjnych domyślnie używa 64-bitowej wersji języka Python. Użytkownicy systemu Windows mogą uruchamiać 32-bitowe wersje języka Python w 64-bitowych systemach Windows, ale za niewielkim kosztem wydajności. 
  • 32-bitowe aplikacje w Pythonie i ogólnie aplikacje 32-bitowe mają dostęp tylko do 4 GB pamięci naraz. Aplikacje 64-bitowe nie mają tego limitu, dlatego wiele narzędzi do analizy danych i uczenia maszynowego dla Pythona działa najlepiej w 64-bitowych wcieleniach. Niektóre są dostępne tylko w wersjach 64-bitowych. 

Jedynym przypadkiem, w którym powinieneś wybrać 32-bitową wersję Pythona, jest sytuacja, w której utkniesz z 32-bitową wersją systemu Windows lub musisz użyć modułu innej firmy, który jest dostępny tylko w wersji 32-bitowej.

Zainstaluj Pythona w systemie Windows w inteligentny sposób

Python instaluje się w systemie Windows w taki sam sposób, jak każda inna aplikacja, za pomocą instalatora, który prowadzi użytkownika przez proces instalacji.

Domyślnie instalator Pythona dla systemu Windows umieszcza swoje pliki wykonywalne w katalogu użytkownika AppData, dzięki czemu nie wymaga uprawnień administracyjnych. Jeśli jesteś jedynym użytkownikiem w systemie, możesz chcieć umieścić Pythona w katalogu wyższego poziomu (np. C:\Python3.7), Aby łatwiej było go znaleźć. Instalator systemu Windows umożliwia określenie katalogu docelowego.

Wybierz odpowiedni instalator języka Python dla systemu Windows

Python.org oferuje wiele różnych wcieleń języka Python dla Windows. Oprócz wspomnianych już wersji 32-bitowych („x86”) i 64-bitowych („x86-64”) można wybrać spośród osadzanego pliku ZIP, instalatora wykonywalnego i instalatora internetowego. Oto, o co w tym wszystkim chodzi:

  • Instalator wykonywalny jest tylko plik EXE, który uruchamia proces konfiguracji dla Pythona. Jest to łatwy wybór domyślny i najczęściej używany.
  • Instalator oparty na sieci Web jest taka sama jak instalator wykonywalnego, chyba że osobno pobierze bitów potrzebnych do wykonania instalacji. To znacznie zmniejsza rozmiar rzeczywistego instalatora, ale oczywiście wymaga połączenia sieciowego.
  • Plik zip z możliwością osadzania to samodzielna, minimalna kopia środowiska wykonawczego Pythona, która mieści się w jednym folderze bez żadnych zależności. Przydaje się, gdy chcesz ręcznie dystrybuować aplikację Pythona lub gdy potrzebujesz szybkiej, jednorazowej instalacji Pythona, aby przetestować coś w locie. Ale osadzalny zip nie zawiera  pipani żadnych innych przydatnych narzędzi, które są dostarczane z pełną instalacją, więc jest przeznaczony tylko do użytku przez ekspertów.

Zainstaluj Pythona za pomocą menedżera pakietów dla systemu Windows

Jeszcze inną opcją jest użycie jednego z systemów zarządzania pakietami, które istnieją dla systemu Windows. NuGet, menedżer pakietów dla platformy .NET, oferuje język Python w swoim repozytorium. Jednak Python jest tam udostępniany głównie w celu wykorzystania go jako komponentu w aplikacji .NET, a nie w celu zainstalowania samodzielnej instancji Pythona do ogólnego użytku. Prawdopodobnie łatwiej będzie zarządzać instancją Pythona, jeśli zainstalujesz Pythona w zwykły sposób. 

Chocolatey, bardziej ogólny system zarządzania pakietami Windows, oferuje również Python. Chocolatey to wygodny sposób na uruchomienie instalatora języka Python i śledzenie obecności środowiska uruchomieniowego języka Python w systemie - a zatem lepszy wybór niż NuGet. Jednak najlepiej unikać mieszania i dopasowywania instalacji Chocolatey i regularnych instalacji Pythona w tym samym systemie.

Zainstaluj Pythona w systemie Linux w inteligentny sposób

Ponieważ dystrybucje Linuksa znacznie się różnią, typowym sposobem instalacji Pythona w Linuksie jest użycie menedżera pakietów określonej dystrybucji. Na przykład Ubuntu i Fedora mają zupełnie inne procedury instalowania Pythona. W systemie Linux (i MacOS) katalog docelowy instalacji jest zwykle z góry określony i oparty na numerze wersji Pythona, np. W /usr/bin/python3.Xsystemie Linux lub /usr/local/opt/python/na komputerze Mac.

Jednym ze sposobów uniknięcia zawiłości menedżerów pakietów Linuksa jest użycie kontenerowego środowiska wykonawczego Pythona. Kontenery są odizolowane od reszty systemu, więc nie musisz się martwić, że różne środowiska uruchomieniowe Pythona będą nadeptywać sobie nawzajem. Jeśli jednak Twój przepływ pracy nie obejmuje jeszcze kontenerów, musisz poświęcić czas i energię, aby przyspieszyć działanie platformy Docker. (Zwróć uwagę, że możesz używać kontenerowego języka Python również w systemie Windows).

Przydatne jest również narzędzie o nazwie asdf-vm. Możesz użyć asdf-vm do zarządzania wieloma środowiskami wykonawczymi Pythona w systemach uniksowych (Linux i MacOS) - oraz wieloma środowiskami wykonawczymi dla Node.js, Ruby, Elixir i wielu innych języków. Więc jeśli okaże się, że żonglujesz wersjami innych rzeczy poza Pythonem, zechcesz zajrzeć do asdf-vm.

Zainstaluj Pythona na MacOS w inteligentny sposób

MacOS był tradycyjnie dostarczany z zainstalowaną wersją Pythona, ale nigdy nowszą niż Python 2.7. Spowodowało to problemy, gdy pojawił się Python 3, ponieważ dwie wersje często były ze sobą w konflikcie. Oficjalna dokumentacja Pythona zawiera pewne uwagi na ten temat, ale nie zawiera żadnych bardziej szczegółowych zaleceń niż upewnienie się, że używasz właściwej ścieżki dla żądanej instancji Pythona.

Typowym sposobem zarządzania środowiskami wykonawczymi Python w systemie MacOS jest użycie menedżera pakietów Homebrew. Homebrew zapewnia spójny interfejs do pobierania, instalowania, zarządzania i usuwania Pythona i innych aplikacji wiersza poleceń innych firm.

Instaluj pakiety Pythona w inteligentny sposób

Po skonfigurowaniu podstawowej instalacji wersji Pythona nie rozpoczynaj instalowania pakietów bezpośrednio do niej pip - nie, nawet jeśli planujesz używać Pythona tylko w jednym projekcie. Skonfiguruj katalogi projektów, zainstaluj w nich środowiska wirtualne Python, a następnie zainstaluj pakiety w tych środowiskach wirtualnych. W ten sposób podstawa pozostaje czysta.

Aby uzyskać wysokopoziomowy sposób zarządzania wieloma projektami ze środowiskami wirtualnymi i zależnościami, zapoznaj się z projektem Poetry. Poezja zapewnia narzędzie wiersza poleceń do zarządzania środowiskami wirtualnymi i zależnościami na wysokim poziomie.

Zainstaluj wiele wersji języka Python obok siebie

Najtrudniejszym problemem związanym z instalacjami Pythona jest sposób obsługi różnych wersji Pythona zainstalowanych obok siebie. Obowiązują tutaj dwie uniwersalne zasady:

  • Zawsze instaluj każdą wersję w innym katalogu.
  • Upewnij się, że wszystkie ścieżki systemowe są skonfigurowane tak, aby najpierw wskazywały wersję, którą chcesz uruchomić domyślnie.

Uruchamianie wielu wersji języka Python zdecydowanie przemawia za środowiskami wirtualnymi dla poszczególnych projektów. Gdy środowisko wirtualne jest aktywowane, cała aktywność Pythona w kontekście projektu jest automatycznie kierowana na odpowiednią wersję Pythona, 

Inną opcją, którą użytkownicy systemu Windows muszą kontrolować, której wersji Pythona mają używać, gdy instalowane są wielokrotności, jest pyaplikacja uruchamiająca. Podczas instalacji Pythona dostępna jest opcja zainstalowania programu pyuruchamiającego, małego pliku wykonywalnego, który pozwala wybrać (za pomocą flag wiersza polecenia), której wersji Pythona użyć dla danego skryptu. Na przykład, aby uruchomić pipdla Pythona 3.7, wpisz  py -3.7 -m pip.

Uaktualnij Pythona w inteligentny sposób

Drobne aktualizacje wersji Pythona - np. Python 3.7.2 do Python 3.7.3 - są generalnie dość łatwe. W systemie Windows instalator wykrywa obecność istniejącej wersji i aktualizuje ją. W systemach Linux i MacOS instalator lub menedżer pakietów zwykle robi to samo.

Jednak wszelkie utworzone przez Ciebie środowiska wirtualne będą również wymagały aktualizacji; nie uaktualniają się automatycznie. Aby zaktualizować Pythona w środowisku wirtualnym, po prostu przejdź do katalogu środowiska wirtualnego i wprowadź  venv --upgrade. Ponownie należy zauważyć, że działa to najlepiej tylko w przypadku drobnych aktualizacji wersji, takich jak Python 3.7.2 do Python 3.7.3.

Jeśli wykonujesz główną aktualizację wersji, taką jak Python 3.7 do Python 3.8, najlepszym rozwiązaniem jest venvutworzenie nowego, oddzielnego podkatalogu środowiska wirtualnego w katalogu projektu, ponowne zainstalowanie w nim wszelkich zależności i przełączenie się na używanie nowe środowisko wirtualne. Większość IDE z obsługą języka Python (np. Microsoft Visual Studio Code) wykrywa wiele środowisk wirtualnych w projekcie i umożliwia przełączanie się między nimi.