Jak zmienić wersję Python na Linux za pomocą Pyevn

Jak zmienić wersję Python na Linux za pomocą Pyevn

Czy musisz uruchomić oprogramowanie, które wymaga innej wersji Pythona niż ta, którą zainstalowałeś w swoim systemie? Istnieje kilka sposobów rozwiązania tego problemu, ale najłatwiejszy opiera się na narzędzia o nazwie Pyenv. Omów krótko, co robi Pyenv i dlaczego powinieneś go użyć przed wyjaśnieniem dokładnie, co musisz zrobić, aby zmienić domyślną wersję Pythona.

Co to jest Pyenv i jak to działa?

Pyenv to narzędzie do zarządzania wersją Python wykonane z Pure Shell Scripts, co oznacza, że ​​nie zależy od Pythona. To miłe, ponieważ ostatnią rzeczą, jakiej chcesz, jest zanieczyszczenie swojego środowiska, instalując narzędzie, które ma pomóc w lepszym zarządzaniu.

Piękno Pyenv wynika z faktu, że po prostu dodaje katalog na górze ścieżki $, zmienną, która informuje system operacyjny Linux, gdzie szukać wykonywalnych, takich jak Python. Ten nowy katalog zawiera v lekki wykonywalny, który przekazuje twoje polecenie Pyenv.

Możesz użyć następującego polecenia, aby wyświetlić bieżącą ścieżkę $:

$ echo $ ścieżka

Powinieneś zobaczyć wiele katalogów oddzielonych kolonami:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Aby wyjść ładniejsza, możesz użyć bardziej wyrafinowanej wersji powyższego polecenia:

$ echo -e $ ścieżka //:/\\ n
/usr/local/sbin
/usr/lokalny/bin
/usr/sbin
/usr/bin
/sbin
/kosz
/USR/Games
/USR/Local/Games

Kiedy używasz polecenia Python do uruchomienia oprogramowania, system operacyjny przechodzi przez katalogi w zmiennej $ ścieżki od góry do dołu, aż znajdzie się w zawierającym odpowiedni wykonywalny.

Aby szybko zobaczyć, który katalog, użyj polecenia Whereis:

$ Whereis Python
/usr/bin/python

Komenda Python -V może powiedzieć, która wersja Pythona jest zainstalowana:

$ Python -v
Python 2.7.18

Aby pozwolić Ci użyć dowolnej wersji Pythona, którą chcesz bez bałaganu z tym, który został zainstalowany z systemem operacyjnym, Pyenv manipuluje zmienną $ ścieżki, umożliwiając łatwo zmienić globalną wersję Python na zasadzie dla użytkownika. Co więcej, możesz również użyć określonych wersji Pythona do poszczególnych projektów lub ustawić konkretną wersję Pythona tylko dla bieżącej sesji powłoki.

Jak zainstalować Pyenv?

Przed zainstalowaniem samego Pyenv należy upewnić się, że nie ma niezaspokojonych zależności systemowych:

Aktualizacja $ sudo apt-get; sudo apt-get instaluj Make Istencję kompilacji libssl-dev zlib1g-dev libbz2-dev libsqlite3-dev git curl llvm-dev libffi-dev libffi-dev libffi-dev libffi-dev libffi-dev libffi-dev libffi-dev libffi-dev lib -utils tk-dev libxml2-dev libffi-dev liblzma libzma

Po zrobieniu tego możesz użyć automatycznego instalatora do instalacji Pyenv w systemie Linux:

$ curl https: // pyenv.RUN | grzmotnąć

Następnie musisz dodać następujące wiersze do ~/.bashrc lub równoważny plik konfiguracyjny, jeśli używasz innej powłoki niż bash:

Eksport ścieżka = "$ home/.Pyenv/bin: $ ścieżka "
Eval „$ (PYENV INIT -)”
Eval „$ (PYENV Virtualenv -init -)”

Nie martw się; Automatyczny instalator powie ci dokładnie, co musisz dodać i gdzie. Wreszcie możesz ponownie uruchomić swoją powłokę (zamknij terminal) i sprawdzić, czy Pyenv został pomyślnie zainstalowany, wyświetlając swoją bieżącą wersję:

$ pyenv --version
Pyenv 2.2.4

Jak zmienić wersję Python za pomocą Pyenv?

Aby zmienić wersję Python za pomocą Pyenv, najpierw musisz zainstalować co najmniej jedną wersję Python za pomocą polecenia instalacji Pyenv. Po prostu wpisz żądaną wersję po poleceniu:

$ pyenv instaluj 3.10.2

Aby wyświetlić listę wszystkich dostępnych wersji, wykonaj następujące czynności:

$ pyenv instalacja -lista

Do wyboru jest wiele różnych wersji, więc nie będziemy ich skopiować i wkleić tutaj, aby oszczędzić kółka przewijania.

Ponieważ polecenie wersji Python Print (Python -V) użyliśmy wcześniej w tym artykule, powiedziałoby tylko, czym jest wersja systemowa Python, musisz użyć polecenia wersji Pyenv, aby zobaczyć, które wersje są teraz dostępne dla Pyenv:

Wersje $ pyenv
* System (ustawiony przez/home/david/.Pyenv/wersja)
2.7.17
3.7.10
3.10.2

Jak widać, Pyenv jest teraz świadomy trzech wersji Python: The System Version (2.7.18 w naszym przypadku), 2.7.17, 3.7.10 i 3.10.2.

Teraz przełączanie wersji Pythona na podstawie globalnej, lokalnej lub powłoki jest kwestią pojedynczego polecenia:

$ Pyenv Global 2.7.17
$ Pyenv Local 3.7.10
$ pyenv Shell 3.10.2

W naszym przypadku użyliśmy Global Command, aby obniżyć wersję Python w wersji 2.7.18 do wersji 2.7.17. Aby sprawdzić, czy osiągnęliśmy pożądany wynik, możemy użyć dwóch znanych poleceń:

Wersje $ pyenv
system
* 2.7.17 (ustawiony przez/home/david/.Pyenv/wersja)
3.10.2
3.7.10
I
$ Python -v
Python 2.7.17

Tak łatwo jest obniżyć wersję Python za pomocą Pyenv! Po chwili możesz chcieć usunąć kilka wersji Pythona, których już nie potrzebujesz. Następujące polecenie pozwala ci to zrobić:

$ Pyenv odinstalowanie

Możesz zobaczyć bardziej przydatne polecenia Pyenv, wpisując pomoc Pyenv w terminalu. Zalecamy również przeczytanie oficjalnej dokumentacji na GitHub, aby lepiej zrozumieć, jak działa Pyenv pod maską.

Wniosek

Przełączanie lub obniżenie wersji Python jest czymś praktycznie wszystkich programistów, a nawet niektórzy zaawansowani użytkownicy Linuksa muszą zrobić w pewnym momencie. Na szczęście narzędzia takie jak Pyenv sprawiają, że zadanie jest łatwe, umożliwiając osiągnięcie pożądanego celu za pomocą kilku prostych poleceń.