Kuidas hallata ja muuta Pythoni versiooni Ubuntu süsteemis: Samm-sammuline juhend

1. Sissejuhatus

Kui kasutate Ubuntu operatsioonisüsteemis Pythoni, on Pythoni versioonihaldus väga oluline punkt.
Pythonile ilmub regulaarselt uusi versioone ning arenduskeskkonnast sõltuvalt võib vaja minna erinevaid versioone.

Siiski on Ubuntu süsteemis mitu Pythoni versiooni kõrvuti olemas,
ning sageli tuleb ette olukordi, kus soovite „kontrollida praegust Pythoni versiooni“,
„kasutada kindlat versiooni“ või
„vahetada Pythoni versiooni“.

Selles artiklis selgitame kuidas Ubuntu süsteemis Pythoni versiooni kontrollida, muuta ja vahetada.
Toome näiteid käskudest ning selgitame samm-sammult, et ka algajad saaksid lihtsalt alustada – loe kindlasti lõpuni!

侍エンジニア塾

2. Pythoni versiooni kontrollimine (proovi kohe!)

Esiteks tutvustame, kuidas kontrollida, milline Pythoni versioon on Ubuntus hetkel paigaldatud.

2.1 Kõige lihtsam meetod (1 sekundiga)

Kõige kiirem viis Pythoni versiooni kontrollimiseks Ubuntus on avada terminal ja sisestada järgmine käsk:

python3 --version

Sama tulemuse annab ka järgmine käsk:

python3 -V

Näide:

$ python3 --version
Python 3.10.6

Nagu näha, kuvatakse praegune Pythoni versioon.

2.2 Erinevus käsu python --version kasutamisel

Ubuntus võib python käsk viidata Python 2-le,
seega soovitame tavaliselt kasutada python3 --version käsku.

Järgmise käsuga saate kontrollida, kas python on süsteemi paigaldatud:

python --version

Kui ilmub veateade Command 'python' not found, siis on tõenäoline, et ainult Python 3 on paigaldatud.

2.3 Üksikasjalikuma versiooniteabe hankimine

Kui soovite näha detailsemat Pythoni versiooniteavet, sisestage:

python3 -VV

Näide:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

Selle käsuga näete ka kompilaatori versiooni ja ehitamise aega.

2.4 Pythoni versiooni kontrollimine skriptis

Kui soovite saada Pythoni versiooni skripti sees, kasutage sys moodulit:

import sys
print(sys.version)
print(sys.version_info)

Näide:

$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

sys.version_info abil saate ligipääsu versiooni põhielementidele (major, minor, micro).

3. Pythoni versiooni muutmine ja haldamine (süsteemi vaikeversioon)

Ubuntus võib olla mitu Pythoni versiooni paigaldatud.
Selles jaotises selgitame, kuidas muuta süsteemi vaike-Pythoni versiooni.

3.1 Paigaldatud Pythoni versioonide kontrollimine

Esiteks kontrollige, millised Pythoni versioonid on Ubuntus paigaldatud:

ls /usr/bin/python*

Näide:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

Nagu näha, saab valida, millist versiooni vaikimisi kasutada.

3.2 Vaikeversiooni vahetamine update-alternatives abil

Ubuntus saate kasutada update-alternatives tööriista, et vahetada vaikimisi Pythoni versiooni.

Esmalt kontrollige praegust seadet:

sudo update-alternatives --display python

Kui python pole veel registreeritud, lisage see:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

Seejärel valige vaikimisi versioon:

sudo update-alternatives --config python

Näide:

There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.10  1         auto mode
  1            /usr/bin/python3.10  1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Kirjutage sobiva versiooni number ja vaikeversioon muudetakse.

3.3 Sümboolse lingi käsitsi muutmine

Võite vaikeversiooni määrata ka käsitsi sümboolse lingi abil, ilma update-alternatives kasutamata.

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

Sel moel hakkab python käsk osutama python3.10 versioonile kogu süsteemis.

4. Kuidas vahetada Pythoni versiooni projekti kaupa

Kui soovite Ubuntus hallata erinevaid Pythoni versioone iga projekti jaoks eraldi, näiteks kasutada Python 3.10 ühes ja Python 3.8 teises projektis,
on kasulik kasutada virtuaalkeskkonda (venv) või pyenv-i.

Selles osas selgitame, kuidas kasutada virtuaalkeskkonda ja pyenv-i Pythoni versioonide hõlpsaks vahetamiseks.

4.1 Kasuta venv-i, et hallata versioone keskkonna kaupa

Pythonil on sisseehitatud venv (virtuaalkeskkond) funktsioon.
Virtuaalkeskkonna abil saate hallata erinevaid Pythoni versioone ja teeke eraldi kataloogides.

Virtuaalkeskkonna loomine venv-iga

Liikuge soovitud kausta ja käivitage järgmine käsk:

python3 -m venv myenv

Nii luuakse myenv nimeline virtuaalkeskkond.

Virtuaalkeskkonna aktiveerimine

Virtuaalkeskkonna aktiveerimiseks kasutage järgmist käsku:

source myenv/bin/activate

Aktiveerimisel muutub terminali prompt:

(myenv) user@ubuntu:~/project$

Nüüd kasutatakse virtuaalkeskkonna Pythonit.

Pythoni versiooni kontrollimine virtuaalkeskkonnas

Virtuaalkeskkonnas Pythoni versiooni kontrollimiseks sisestage:

python --version

Virtuaalkeskkonnast väljumine

Virtuaalkeskkonnast lahkumiseks kasutage käsku:

deactivate

Selle meetodiga saate hallata iga projekti Pythoni versioone ja pakette iseseisvalt.

4.2 Kasuta pyenv-i Pythoni versioonide haldamiseks

venv võimaldab hallata Pythoni versioone virtuaalkeskkondade kaupa,
kuid kogu süsteemi Pythoni versioonide paindlikuks haldamiseks on mugav kasutada pyenv-i.

pyenv-i paigaldamine

Paigalda pyenv järgmise käsuga Ubuntus:

curl https://pyenv.run | bash

Pärast paigaldamist värskenda keskkonda:

exec $SHELL

Pythoni versiooni paigaldamine pyenv-iga

Paigalda Pythoni versioon:

pyenv install 3.10.6

Võimalike versioonide nimekirja näed käsuga:

pyenv install --list

Pythoni versiooni vahetamine pyenv-iga

Süsteemse Pythoni vahetamiseks:

pyenv global 3.10.6

Kausta-spetsiifiliseks vahetamiseks:

pyenv local 3.8.10

Praeguse Pythoni versiooni kontrollimine pyenv-iga

Praeguse Pythoni versiooni nägemiseks:

pyenv versions

Selle meetodiga saate lihtsalt hallata erinevate projektide jaoks erinevaid Pythoni versioone.

5. Korduma kippuvad küsimused (KKK) ja vealahendused

Siin vastame Ubuntu Pythoni versioonihalduse sagedastele küsimustele ja toome lahendusi probleemidele.

K1: Mis vahe on python ja python3 käskudel?

Ubuntus on vaikimisi python3, kuid python võib viidata Python 2-le.
Soovitatav on kasutada python3 --version käsku.

K2: Mida teha, kui python --version näitab ootamatut versiooni?

Vaikimisi Pythonit saab muuta update-alternatives või pyenv abil.

  • Kasutades update-alternatives:
sudo update-alternatives --config python
  • Kasutades pyenv:
pyenv global 3.10.6

K3: Miks python3 --version töötab, aga python ei tööta?

Süsteemis võib puududa python käsk. Lahenduseks looge sümboolne link:

sudo ln -sf /usr/bin/python3 /usr/bin/python

K4: Kuidas eemaldada vanu Pythoni versioone Ubuntus?

Esiteks kontrollige, mis versioonid on paigaldatud:

apt list --installed | grep python

Eemaldage kindel versioon käsuga:

sudo apt remove python3.6

K5: Kas vanade Pythoni versioonide eemaldamine mõjutab Ubuntu tööd?

Ubuntu süsteemivahendid võivad vajada teatud Pythoni versioone.
Kontrollige python3 --version abil, kas vajalikud versioonid on alles.

Eemaldamisel kontrollige alati paigaldatud versioonid üle:

apt list --installed | grep python

6. Kokkuvõte & soovitatavad järgmised artiklid

Käesolevas juhendis selgitasime kuidas Ubuntu süsteemis Pythoni versiooni kontrollida, muuta ja hallata.

  • Pythoni versiooni kontrolliminepython3 --version
  • Süsteemi vaikimisi versiooni muutmineupdate-alternatives või ln -sf
  • Projektipõhine versioonihaldusvenv (virtuaalkeskkond) või pyenv

Eriti pyenv teeb Pythoni versioonide halduse lihtsaks.
Kui soovite kasutada erinevates projektides erinevaid versioone või muuta süsteemi vaikimisi Pythonit, proovige kindlasti pyenv-i.

Seotud lehed

Pythonプログラミングの世界

Pythonプログラミングの世界へようこそ!初心者から上級者まで、Pythonの基礎から応用、データ分析やWeb開発まで…