Jak zkontrolovat a přepnout verze Pythonu v Ubuntu: Kompletní průvodce pro vývojáře

.## 1. Úvod

Při používání Pythonu na Ubuntu se správa verzí Pythonu stává důležitým úkolem.
Python často dostává nové vydání a v závislosti na vývojovém prostředí můžete potřebovat používat různé verze.

Nicméně Ubuntu může mít nainstalováno více verzí Pythonu, což vede k situacím, jako jsou:
„Chci zjistit aktuální verzi Pythonu“
„Chci použít konkrétní verzi“
„Chci přepnout verze Pythonu“
Tyto situace se vyskytují poměrně často.

Tento článek podrobně vysvětluje, jak zkontrolovat, změnit a přepnout verze Pythonu na Ubuntu.
S příklady příkazů, i začátečníci mohou snadno následovat. Určitě si přečtěte až do konce.

2. Jak zkontrolovat verzi Pythonu na Ubuntu【Vyzkoušejte nyní!】

Nejprve se podívejme, jak zjistit, která verze Pythonu je aktuálně nainstalována na Ubuntu.

2.1 Nejjednodušší způsob (Zkontrolujte za 1 sekundu)

Nejjednodušší způsob, jak zkontrolovat verzi Pythonu v Ubuntu, je spustit následující příkaz v terminálu:

python3 --version

Stejný výsledek můžete získat pomocí:

python3 -V

Příklad:

$ python3 --version
Python 3.10.6

Toto zobrazí aktuální verzi Pythonu.

2.2 Rozdíl mezi python --version a python3 --version

Na Ubuntu může příkaz python odkazovat na Python 2.
Proto se doporučuje použít python3 --version.

Můžete zkontrolovat, zda je python nainstalován, spuštěním:

python --version

Pokud vidíte Command 'python' not found, pravděpodobně to znamená, že je nainstalován pouze Python 3.

2.3 Získání podrobných informací o verzi

Pokud chcete podrobnější informace, spusťte:

python3 -VV

Příklad:

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

Tento příkaz ukazuje podrobnosti, jako je verze GCC použité při kompilaci a datum sestavení.

2.4 Zkontrolovat verzi Pythonu uvnitř skriptu

Pokud chcete zkontrolovat verzi Pythonu uvnitř skriptu, použijte modul sys:

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

Příklad:

$ 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)

Pomocí sys.version_info můžete získat každý prvek verze (major, minor, micro) jako čísla.

3. Jak změnit nebo spravovat verze Pythonu【Nastavit výchozí systémovou verzi】

Ubuntu může mít nainstalováno více verzí Pythonu.
Tato sekce vysvětluje, jak změnit výchozí verzi Pythonu pro celý systém.

3.1 Zkontrolovat nainstalované verze Pythonu

Pro kontrolu, které verze Pythonu jsou nainstalovány, spusťte:

ls /usr/bin/python*

Příklad:

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

Pokud je nainstalováno více verzí, můžete si vybrat, kterou použít jako výchozí.

3.2 Přepnutí výchozího Pythonu pomocí update-alternatives

Můžete přepnout výchozí verzi Pythonu pomocí update-alternatives.

Nejprve zkontrolujte aktuální nastavení:

sudo update-alternatives --display python

Pokud python není registrován, přidejte jej pomocí:

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

Poté vyberte výchozí verzi:

sudo update-alternatives --config python

Příklad:

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:

Zadejte číslo verze, na kterou se chcete přepnout.

3.3 Ruční změna symbolického odkazu

Můžete také ručně změnit symbolický odkaz místo použití update-alternatives:

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

Toto vynutí příkaz python k použití python3.10 na celém systému.

4. Jak přepínat verze Pythonu pro jednotlivé projekty

Při práci s Pythonem na Ubuntu můžete chtít používat různé verze Pythonu pro různé projekty.
Například jeden projekt může vyžadovat Python 3.10, zatímco jiný může potřebovat Python 3.8.
V takových případech je použití virtuálních prostředí (venv) nebo pyenv extrémně užitečné.

Tato sekce vysvětluje, jak snadno přepínat verze Pythonu pomocí virtuálních prostředí a pyenv.

4.1 Správa verzí Pythonu pro prostředí pomocí venv

Python poskytuje venv (virtuální prostředí) jako standardní funkci.
Pomocí virtuálních prostředí můžete spravovat různé verze Pythonu nebo knihovny v individuálních adresářích.

Vytvoření virtuálního prostředí pomocí venv

Přesuňte se do adresáře, kde chcete vytvořit virtuální prostředí, a spusťte:

python3 -m venv myenv

Toto vytvoří virtuální prostředí s názvem myenv.

Aktivace virtuálního prostředí

K aktivaci virtuálního prostředí spusťte:

source myenv/bin/activate

Po aktivaci se změní výzva terminálu:

(myenv) user@ubuntu:~/project$

Během aktivního stavu se používá verze Pythonu specifická pro prostředí.

Kontrola verze Pythonu uvnitř prostředí

K zkontrolování verze Pythonu uvnitř virtuálního prostředí spusťte:

python --version

Deaktivace virtuálního prostředí

K ukončení virtuálního prostředí spusťte:

deactivate

Tuto metodu můžete použít k správě verzí Pythonu a balíčků nezávisle pro každý projekt.

4.2 Správa verzí Pythonu pomocí pyenv

Zatímco venv spravuje Python pro jednotlivé projekty,
pokud chcete volně přepínat verzi Pythonu na celém systému, je pyenv velmi pohodlný.

Instalace pyenv

Nejprve nainstalujte pyenv.
K instalaci pyenv na Ubuntu spusťte:

curl https://pyenv.run | bash

Poté aplikujte nastavení pomocí:

exec $SHELL

Instalace verzí Pythonu pomocí pyenv

K instalaci verze Pythonu pomocí pyenv:

pyenv install 3.10.6

K zobrazení všech dostupných verzí:

pyenv install --list

Přepínání verzí Pythonu pomocí pyenv

K změně globální (systémové) verze Pythonu:

pyenv global 3.10.6

K změně verze Pythonu pro specifický adresář:

pyenv local 3.8.10

Kontrola aktuální verze Pythonu pyenv

K zkontrolování, které verze Pythonu pyenv spravuje, spusťte:

pyenv versions

Toto vám umožní snadno spravovat různé verze Pythonu pro jednotlivé projekty.

5. FAQ (Řešení problémů)

Zde jsou běžné otázky a tipy na řešení problémů při správě verzí Pythonu na Ubuntu.

Q1: Jaký je rozdíl mezi python a python3?

Na Ubuntu je python3 standardní, zatímco python může odkazovat na Python 2.
Proto je doporučeno používat python3 --version.

Q2: Co když python --version zobrazí neočekávanou verzi?

Můžete změnit výchozí verzi Pythonu pomocí update-alternatives nebo pyenv.

  • Použití update-alternatives :
    sudo update-alternatives --config python
    
  • Použití pyenv :
    pyenv global 3.10.6
    

Q3: Proč funguje python3 --version, ale python ne?

Příkaz python nemusí být nainstalován.
Vytvořte symbolický odkaz k opravě:

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

Q4: Jak odstranit starou verzi Pythonu na Ubuntu?

Nejprve vypíšte nainstalované balíčky Pythonu:

apt list --installed | grep python

K odstranění specifické verze Pythonu:

sudo apt remove python3.6

Q5: Ovlivní odstranění starší verze Pythonu Ubuntu?

Některé systémové nástroje Ubuntu závisí na specifických verzích Pythonu.
Zkontrolujte pomocí:

python3 --version

Před odstraněním čehokoli vždy ověřte, co je nainstalováno:

apt list --installed | grep python

6. Shrnutí & Doporučené články

V tomto průvodci jsme se zabývali jak kontrolovat, měnit a přepínat verze Pythonu na Ubuntu.

  • Kontrola verze Pythonupython3 --version
  • Změna systémové verzeupdate-alternatives nebo ln -sf
  • Správa verzí pro jednotlivé projektyvenv nebo pyenv

Použití pyenv zvláště usnadňuje správu verzí Pythonu.
Pokud potřebujete různé verze Pythonu napříč více projekty nebo chcete změnit systémovou výchozí verzi, zkuste použít pyenv.

Související stránka

Practical Python Programming

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

侍エンジニア塾