Jak zkontrolovat, změnit a přepnout verze Pythonu v Ubuntu [Kompletní průvodce]

目次

1. Úvod

Při používání Pythonu v Ubuntu je správa verzí Pythonu klíčovým aspektem.
Python je pravidelně aktualizován o nové verze a různé vývojové prostředí mohou vyžadovat různé verze.

Nicméně Ubuntu často má nainstalováno více verzí Pythonu, což vede k situacím, kdy můžete potřebovat:
– Zkontrolovat aktuální verzi Pythonu
– Použít konkrétní verzi Pythonu
– Přepínat mezi různými verzemi Pythonu

V tomto článku poskytneme komplexní návod na kontrolu, změnu a přepínání verzí Pythonu v Ubuntu.
S jednoduchými příklady příkazů se v tom snadno zorientuje i začátečník. Přečtěte si až do konce!

2. Jak zkontrolovat verzi Pythonu [Try It Instantly!]

Nejprve se podívejme, jak zjistit aktuálně nainstalovanou verzi Pythonu v Ubuntu.

2.1 Nejjednodušší metoda (kontrola za 1 sekundu)

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

python3 --version

Můžete také použít tento alternativní příkaz, který dává stejný výsledek:

python3 -V

Ukázkový výstup:

$ python3 --version
Python 3.10.6

Tento příkaz zobrazí aktuální verzi Pythonu nainstalovanou ve vašem systému.

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

V Ubuntu může příkaz python odkazovat na Python 2.x, v závislosti na nastavení systému.
Z tohoto důvodu se doporučuje použít python3 --version pro kontrolu verze Pythonu.

Můžete ověřit, zda je příkaz python dostupný, pomocí následujícího příkazu:

python --version

Pokud se zobrazí chybová zpráva jako Command 'python' not found, znamená to, že je nainstalován jen Python 3.

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

Pokud potřebujete podrobnější informace o verzi Pythonu, použijte tento příkaz:

python3 -VV

Ukázkový výstup:

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

Tento příkaz poskytuje další podrobnosti, jako je verze kompilátoru (GCC) a datum sestavení.

2.4 Kontrola verze Pythonu uvnitř skriptu

Pokud potřebujete zjistit verzi Pythonu uvnitř Python skriptu, použijte modul sys:

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

Ukázkový výstup:

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

Objekt sys.version_info umožňuje získat komponenty verze (major, minor a micro) jako číselné hodnoty.

3. Změna a správa verzí Pythonu [Set System Default]

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

3.1 Kontrola nainstalovaných verzí Pythonu

Nejprve zjistěte, které verze Pythonu jsou ve vašem systému nainstalovány:

ls /usr/bin/python*

Ukázkový výstup:

$ 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 verzi chcete použít jako výchozí.

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

Ubuntu umožňuje přepnout výchozí verzi Pythonu pomocí příkazu update-alternatives.

Nejprve zkontrolujte aktuální konfiguraci:

sudo update-alternatives --display python

Pokud Python není registrován v update-alternatives, zaregistrujte jej těmito příkazy:

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

Ukázkový výstup:

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 odpovídající verzi Pythonu, kterou chcete nastavit jako výchozí.

3.3 Ruční změna výchozí verze Pythonu pomocí symbolického odkazu

Pokud raději nechcete používat update-alternatives, můžete výchozí verzi Pythonu ručně změnit aktualizací symbolického odkazu:

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

Po této změně bude příkaz python systémově ukazovat na python3.10.

4. Přepínání verzí Pythonu pro jednotlivé projekty

Někdy můžete potřebovat používat různé verze Pythonu pro různé projekty.
Například jeden projekt může vyžadovat Python 3.10, zatímco jiný projekt může potřebovat Python 3.8.
V takových případech může být velmi užitečné použít virtuální prostředí (venv) nebo pyenv.

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

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

Python obsahuje vestavěnou funkci nazvanou venv (virtuální prostředí).
Použitím virtuálního prostředí můžete spravovat různé verze Pythonu a závislosti v konkrétních adresářích.

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

Nejprve přejděte do adresáře, kde chcete vytvořit virtuální prostředí, a spusťte následující příkaz:

python3 -m venv myenv

Tím se vytvoří virtuální prostředí pojmenované myenv.

Aktivace virtuálního prostředí

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

Dokud je virtuální prostředí aktivní, všechny příkazy Pythonu budou používat toto izolované prostředí.

Kontrola verze Pythonu ve virtuálním prostředí

Pro zjištění verze Pythonu uvnitř virtuálního prostředí použijte:

python --version

Deaktivace virtuálního prostředí

Pro opuštění virtuálního prostředí spusťte:

deactivate

Pomocí této metody můžete efektivně spravovat oddělené verze Pythonu a balíčky pro každý projekt.

4.2 Správa verzí Pythonu pomocí pyenv

Zatímco venv je užitečný pro správu na úrovni projektu, pyenv je lepší řešení pro přepínání verzí Pythonu na úrovni celého systému.

Instalace pyenv

Pro instalaci pyenv na Ubuntu spusťte:

curl https://pyenv.run | bash

Po instalaci použijte změny pomocí:

exec $SHELL

Instalace konkrétní verze Pythonu pomocí pyenv

Pro instalaci konkrétní verze Pythonu použijte:

pyenv install 3.10.6

Pro zobrazení dostupných verzí použijte:

pyenv install --list

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

Pro nastavení globální výchozí verze Pythonu:

pyenv global 3.10.6

Pro změnu verze Pythonu pouze pro konkrétní adresář:

pyenv local 3.8.10

Kontrola aktuální verze Pythonu v pyenv

Pro zobrazení aktuálně vybrané verze Pythonu v pyenv použijte:

pyenv versions

S pyenv můžete jednoduše spravovat více verzí Pythonu napříč různými projekty.

5. Často kladené otázky (FAQ) [Troubleshooting]

Zde jsou některé časté 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 výchozí, zatímco python může odkazovat na Python 2.x.
Doporučuje se vždy použít python3 --version pro kontrolu verze Pythonu.

Q2: Verze zobrazená příkazem python --version není taková, jakou jsem očekával. Jak to mohu opravit?

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: python3 --version funguje, ale python ne. Proč?

Váš systém nemusí mít příkaz python propojený s Python 3.
Aby to opravili, vytvořte symbolický odkaz:

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

Q4: Jak odstraním starou verzi Pythonu na Ubuntu?

Nejprve zkontrolujte nainstalované verze Pythonu:

apt list --installed | grep python

Pro odstranění specifické verze Pythonu spusťte:

sudo apt remove python3.6

Q5: Ovlivní odstranění staré verze Pythonu můj systém?

Nástroje systému Ubuntu závisí na určitých verzích Pythonu.
Před odstraněním jakékoli verze zkontrolujte, které jsou nainstalovány:

apt list --installed | grep python

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

Podrobně jsme probrali, jak zkontrolovat, změnit a přepnout verze Pythonu na Ubuntu.

  • Kontrola verze Pythonu: python3 --version
  • Změna výchozího systému: Použijte update-alternatives nebo ln -sf
  • Správa verzí specifických pro projekty: Použijte venv (virtuální prostředí) nebo pyenv

Použití pyenv usnadňuje správu verzí Pythonu mnohem více.
Pokud potřebujete používat různé verze Pythonu pro různé projekty nebo změnit výchozí systémovou verzi, zkuste pyenv!

Související zdroje

Pythonプログラミングの世界

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