Kontrola a zobrazení verze Pythonu (např. sys.version)

Podnikání

Tato část ukazuje, jak získat, zkontrolovat a zobrazit nainstalovanou verzi Pythonu a verzi Pythonu, která je ve skriptu skutečně spuštěna.

V této části je vysvětleno, jak zkontrolovat příkazový řádek, resp. kód.

  • Zkontrolujte a zobrazte verzi na příkazovém řádku:--version,-V,-VV
  • Získejte verzi v kódu:sys,platform
    • Řetězec různých informací včetně čísla verze:sys.version
    • Číselný tuple čísel verzí:sys.version_info
    • Řetězec s číslem verze:platform.python_version()
    • Tuple řetězců čísel verzí:platform.python_version_tuple()

Pokud v kódu získáte číslo verze, můžete ho zobrazit pomocí funkce print() a zkontrolovat ho a také přepnout proces v závislosti na verzi.

Kontrola a zobrazení verze na příkazovém řádku: –version, -V, -VV

V systému Windows můžete použít příkazový řádek, v systému Mac terminál.pythonnebo příkazpython3příkaz.--versionVolitelně nebo-Vmožnost spustit.

$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

Jak vidíte na příkladu výše, v závislosti na vašem prostředí může být systém Python 2.x.pythonpříkaz, řada Python 3.x budepython3Je přiřazen k příkazu.

Z jazyka Python 3.6-VVbyla přidána možnost.-VMůžete si zobrazit podrobnější informace než

$ python3 -VV
Python 3.7.0 (default, Jun 29 2018, 20:13:13) 
[Clang 9.1.0 (clang-902.0.39.2)]

Získat verzi v kódu: sys, platform

K získání, kontrole a zobrazení aktuálně spuštěné verze jazyka Python můžete také použít modul sys standardní knihovny nebo modul platformy.

Spusťte skript Pythonu a zkontrolujte. Skript je stejný pro systémy Windows, Mac, Ubuntu a další systémy Linux.

To je užitečné pro kontrolu, která verze Pythonu se používá v prostředí, kde je nainstalováno více verzí Pythonu, protože je možné spustit Python 2, i když jste si mysleli, že používáte Python 3.

Lze ji také použít pro podmíněné větvení, když chcete přepínat mezi zpracováním v jazyce Python 2 a Python 3.

Různé řetězce informací, včetně čísla verze: sys.version

sys.versionje řetězec, který označuje různé informace včetně čísla verze.

sys.version
Řetězec udávající číslo verze interpretu jazyka Python a informace, jako je číslo sestavení a použitý překladač.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Jun 29 2018, 20:13:13) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

Číselný tuple čísla verze: sys.version_info

sys.version_infoje tuple udávající číslo verze.

sys.version_info
Tuple pěti hodnot udávající číslo verze: major, minor, micro, releaselevel a serial. Všechny hodnoty kromě releaselevel jsou celá čísla.sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevelje řetězec a všechny ostatní prvky jsou celá čísla.

Pro získání příslušné hodnoty můžete zadat index.

print(sys.version_info[0])
# 3

Od verze 2.7 pro řadu Python 2 a od verze 3.1 pro řadu Python 3 je přístup k prvkům pomocí jmen (viz.majorminormicroreleaselevelserialPokud například chcete získat hlavní verzi, můžete použít následující příkaz Pokud například chcete získat hlavní verzi, můžete použít následující příkaz.

print(sys.version_info.major)
# 3

Pokud chcete zjistit, zda používáte Python2 nebo Python3, použijte příkazsys.version_info.majorHlavní verzi můžete zkontrolovat v2Pak můžete pomocí Pythonu23Pak Python3.

Příklad přepínání mezi zpracováním v jazyce Python 2 a Python 3 je uveden níže.

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

Pokud chcete přepnout proces v menší verzisys.version_info.minorUrčete

Všimněte si, že jak bylo uvedeno výše, přístup k prvkům podle jména je podporován od verze 2.7 a 3.1, takže pokud je pravděpodobné, že jej spustíte v dřívější verzi, můžete použítsys.version_info[0]a … asys.version_info[1]zadané indexem.

Číslo verze řetězec: platform.python_version()

platform.python_version()je.major.minor.patchlevelFunkce, která vrací řetězec ve formátu

platform.python_version()
Vrací verzi Pythonu jako řetězec ve formátu 'major.minor.patchlevel'.
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

Užitečné, pokud chcete získat číslo verze jako jednoduchý řetězec.

Tuple řetězců čísel verzí: platform.python_version_tuple()

platform.python_version_tuple()je.(major, minor, patchlevel)Funkce, která vrací tuple of Obsahem tuple není číslo, ale řetězec.

platform.python_version_tuple()
Vrací verzi Pythonu jako dvojici řetězců (major, minor, patchlevel).
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

sys.version_infoProtože se jedná o pouhý tuple, na rozdíl odmajora … aminorpřístup k prvku podle názvu není povolen.

Kontrola a zobrazení verze Pythonu (např. sys.version)

Tato část ukazuje, jak získat, zkontrolovat a zobrazit nainstalovanou verzi Pythonu a verzi Pythonu, která je ve skriptu skutečně spuštěna.

V této části je vysvětleno, jak zkontrolovat příkazový řádek, resp. kód.

  • Zkontrolujte a zobrazte verzi na příkazovém řádku:--version,-V,-VV
  • Zjištění verze v kódu: sys,platform
    • Řetězec různých informací včetně čísla verze: sys.version
    • Číselný tuple čísel verzí: sys.version_info
    • Číslo verze řetězec: platform.python_version()
    • Tuple řetězců čísel verzí: platform.python_version_tuple()

Pokud číslo verze získáte v kódu, můžete jej zobrazit a zkontrolovat pomocí následující funkce.print()Proces můžete také přepínat v závislosti na verzi.

Kontrola a zobrazení verze na příkazovém řádku: –version, -V, -VV

Verzi můžete zkontrolovat spuštěním následujícího příkazu z příkazového řádku v systému Windows nebo Terminálu v systému Mac.

  • příkaz
    • python
    • python3
  • Možnost
    • --version
    • -V
$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

Jak je uvedeno v příkladu výše, v závislosti na prostředí jsou systémy Python 2.x přiřazeny příkazu python a systémy Python 3.x příkazu python3.

Volba -VV byla přidána v jazyce Python 3.6. Volba -VV zobrazuje podrobnější informace než volba -V.

$ python3 -VV
Python 3.7.0 (default, Oct 21 2020, 10:23:15) 
[Clang 9.1.0 (clang-902.0.39.2)]

Získat verzi v kódu: sys, platform

K získání, kontrole a zobrazení aktuálně spuštěné verze jazyka Python můžete také použít modul sys standardní knihovny nebo modul platformy.

Spusťte skript Pythonu a zkontrolujte. Skript je stejný pro systémy Windows, Mac, Ubuntu a další systémy Linux.

To je užitečné pro kontrolu, která verze Pythonu se používá v prostředí, kde je nainstalováno více verzí Pythonu, protože je možné spustit Python 2, i když jste si mysleli, že používáte Python 3.

Lze ji také použít pro podmíněné větvení, když chcete přepínat mezi zpracováním v jazyce Python 2 a Python 3.

Různé řetězce informací, včetně čísla verze: sys.version

sys.version
Jedná se o řetězec, který označuje různé informace včetně čísla verze.

sys.version
Řetězec udávající číslo verze interpretu jazyka Python a informace, jako je číslo sestavení a použitý překladač.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Oct 21 2020, 10:23:15) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

Číselný tuple čísla verze: sys.version_info

sys.version_info
Jedná se o tuple, který udává číslo verze.

sys.version_info
Tuple pěti hodnot udávajících číslo verze: major, minor, micro, releaselevel a serial, přičemž všechny hodnoty jsou celá čísla kromě releaselevel.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevel
Jedná se o řetězec a všechny ostatní prvky jsou celá čísla.

Pro získání příslušné hodnoty můžete zadat index.

print(sys.version_info[0])
# 3

Od verze 2.7 pro řadu Python 2 a verze 3.1 pro řadu Python 3 je podporován také následující přístup k prvkům podle jména.

  • major
  • minor
  • micro
  • releaselevel
  • serial

Chcete-li například získat hlavní verzi, postupujte takto.

print(sys.version_info.major)
# 3

Pokud chcete zjistit, zda používáte Python 2 nebo Python 3, můžete použít následující kód pro zjištění hlavní verze.
sys.version_info.majorPokud je návratová hodnota 2, jedná se o Python2, pokud je 3, jedná se o Python3.

Příklad přepínání mezi zpracováním v jazyce Python 2 a Python 3 je uveden níže.

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

Pokud chcete přepnout proces s menší verzí, určete následující hodnoty.
sys.version_info.minor

Všimněte si, že jak bylo uvedeno výše, přístup k prvku podle jména je podporován od verze 2.7 a 3.1, takže pokud může být proveden v dřívějších verzích, zadejte jej podle indexu takto.

  • sys.version_info[0]
  • sys.version_info[1]

Číslo verze řetězec: platform.python_version()

platform.python_version() je funkce, která vrací řetězec ve formátu major.minor.patchlevel.

platform.python_version()
Vrací verzi Pythonu jako řetězec ve formátu 'major.minor.patchlevel'.
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

Užitečné, pokud chcete získat číslo verze jako jednoduchý řetězec.

Tuple řetězců čísel verzí: platform.python_version_tuple()

platform.python_version_tuple() je funkce, která vrací tuple (major, minor, patchlevel).
Obsahem tuplu není číslo, ale řetězec.

platform.python_version_tuple()
Vrací verzi Pythonu jako dvojici řetězců (major, minor, patchlevel).
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

Na rozdíl od sys.version_info je to jen tuple, takže přístup k prvku podle jména není možný.