Проверка и отображение версии Python (например, sys.version)

Бизнес

В этом разделе показано, как получить, проверить и отобразить установленную версию Python и версию Python, которая фактически запущена в сценарии.

В этом разделе объясняется, как проверить командную строку и код соответственно.

  • Проверка и отображение версии в командной строке:--version,-V,-VV
  • Получите версию в коде:sys,platform
    • Строка с различной информацией, включая номер версии:sys.version
    • Числовой кортеж номеров версий:sys.version_info
    • Строка номера версии:platform.python_version()
    • Кортеж строк номеров версий:platform.python_version_tuple()

Если вы получите номер версии в коде, вы можете вывести его с помощью print() для проверки, а также переключить процесс в зависимости от версии.

Проверка и отображение версии в командной строке: —version, -V, -VV

Вы можете использовать командную строку для Windows или терминал для Mac.pythonкоманда илиpython3командование.--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

Как видно из приведенного примера, в зависимости от вашего окружения, система Python 2.x может бытьpythonкоманда, серия Python 3.x будет выглядеть следующим образомpython3Он назначается на команду.

Из Python 3.6-VVбыла добавлена опция.-VВы можете просмотреть более подробную информацию, чем

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

Получить версию в коде: sys, platform

Вы также можете использовать модуль sys стандартной библиотеки или модуль platform для получения, проверки и отображения версии Python, которая действительно запущена.

Запустите сценарий Python для проверки. Сценарий одинаков для Windows, Mac, Ubuntu и других систем Linux.

Это полезно для проверки того, какая версия Python используется в среде, где установлено несколько версий Python, поскольку можно запустить Python 2, когда вы думали, что используете Python 3.

Его также можно использовать для условного ветвления, когда вы хотите переключиться между обработкой Python 2 и Python 3.

Различные строки информации, включая номер версии: sys.version

sys.versionэто строка, в которой указывается различная информация, включая номер версии.

sys.version
Строка, указывающая номер версии интерпретатора Python, а также такую информацию, как номер сборки и используемый компилятор.
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'>

Числовой кортеж номера версии: sys.version_info

sys.version_infoкортеж, указывающий номер версии.

sys.version_info
Кортеж из пяти значений, указывающих номер версии: major, minor, micro, releaselevel и serial. Все значения, кроме 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является строкой, а все остальные элементы — целые числа.

Вы можете указать индекс для получения соответствующего значения.

print(sys.version_info[0])
# 3

Начиная с версии 2.7 для серии Python 2 и с версии 3.1 для серии Python 3, доступ к элементам с помощью имен (см.majorminormicroreleaselevelserialНапример, если вы хотите получить основную версию, вы можете использовать Например, если вы хотите получить основную версию, вы можете сделать следующее

print(sys.version_info.major)
# 3

Если вы хотите определить, запущен ли у вас Python2 или Python3, воспользуйтесь параметромsys.version_info.majorВы можете проверить основную версию в2Затем вы можете использовать Python2 для3Затем Python3.

Пример переключения между обработкой Python 2 и Python 3 показан ниже.

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

Если вы хотите переключить процесс в минорной версииsys.version_info.minorОпределите

Обратите внимание, что, как упоминалось выше, доступ к элементам по имени поддерживается с версии 2.7 и 3.1, поэтому если вы, скорее всего, будете работать в более ранней версии, вы можете использоватьsys.version_info[0]и … иsys.version_info[1]указанный индексом.

Строка номера версии: platform.python_version()

platform.python_version()это.major.minor.patchlevelФункция, которая возвращает строку в формате

platform.python_version()
Возвращает версию Python в виде строки в формате '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'>

Пригодится, если вы хотите получить номер версии в виде простой строки.

Набор строк номеров версий: platform.python_version_tuple()

platform.python_version_tuple()это.(major, minor, patchlevel)Функция, возвращающая кортеж из Содержимым кортежа является не число, а строка.

platform.python_version_tuple()
Возвращает версию Python в виде кортежа строк (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_infoПоскольку это просто кортеж, в отличие отmajorи … иminorдоступ к элементу по имени не разрешен.

Проверка и отображение версии Python (например, sys.version)

В этом разделе показано, как получить, проверить и отобразить установленную версию Python и версию Python, которая фактически запущена в сценарии.

В этом разделе объясняется, как проверить командную строку и код соответственно.

  • Проверка и отображение версии в командной строке:--version,-V,-VV
  • Получить версию в коде: sys,platform
    • Строка с различной информацией, включая номер версии: sys.version
    • Числовой кортеж номеров версий: sys.version_info
    • Строка номера версии: platform.python_version()
    • Набор строк номеров версий: platform.python_version_tuple()

Если вы получили номер версии в коде, вы можете использовать следующую функцию для его отображения и проверки.print()Вы также можете менять процесс в зависимости от версии.

Проверка и отображение версии в командной строке: —version, -V, -VV

Вы можете проверить версию, выполнив следующую команду из командной строки на Windows или Terminal на Mac.

  • команда
    • python
    • python3
  • Вариант
    • --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

Как показано в примере выше, в зависимости от окружения, системы Python 2.x назначаются команде python, а системы Python 3.x — команде python3.

Опция -VV была добавлена в Python 3.6. Опция -VV отображает более подробную информацию, чем опция -V.

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

Получить версию в коде: sys, platform

Вы также можете использовать модуль sys стандартной библиотеки или модуль platform для получения, проверки и отображения версии Python, которая действительно запущена.

Запустите сценарий Python для проверки. Сценарий одинаков для Windows, Mac, Ubuntu и других систем Linux.

Это полезно для проверки того, какая версия Python используется в среде, где установлено несколько версий Python, поскольку можно запустить Python 2, когда вы думали, что используете Python 3.

Его также можно использовать для условного ветвления, когда вы хотите переключиться между обработкой Python 2 и Python 3.

Различные строки информации, включая номер версии: sys.version

sys.version
Это строка, в которой указывается различная информация, включая номер версии.

sys.version
Строка, указывающая номер версии интерпретатора Python, а также такую информацию, как номер сборки и используемый компилятор.
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'>

Числовой кортеж номера версии: sys.version_info

sys.version_info
Это кортеж, который указывает номер версии.

sys.version_info
Кортеж из пяти значений, указывающих номер версии: major, minor, micro, releaselevel и serial, все из которых целые числа, кроме 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
Это строка, а все остальные элементы — целые числа.

Вы можете указать индекс для получения соответствующего значения.

print(sys.version_info[0])
# 3

Начиная с версии 2.7 для серии Python 2 и версии 3.1 для серии Python 3, также поддерживается доступ к элементам по имени.

  • major
  • minor
  • micro
  • releaselevel
  • serial

Например, если вы хотите получить основную версию, сделайте следующее

print(sys.version_info.major)
# 3

Если вы хотите определить, используете ли вы Python 2 или Python 3, вы можете использовать следующий код для проверки основной версии.
sys.version_info.majorЕсли возвращаемое значение равно 2, то это Python2, если 3, то Python3.

Пример переключения между обработкой Python 2 и Python 3 показан ниже.

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

Если вы хотите переключить процесс с минорной версии, определите следующие значения.
sys.version_info.minor

Обратите внимание, что, как упоминалось выше, доступ к элементу по имени поддерживается с версии 2.7 и 3.1, поэтому если он может быть выполнен в более ранних версиях, укажите его по индексу следующим образом.

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

Строка номера версии: platform.python_version()

platform.python_version() — это функция, которая возвращает строку в формате major.minor.patchlevel.

platform.python_version()
Возвращает версию Python в виде строки в формате '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'>

Пригодится, если вы хотите получить номер версии в виде простой строки.

Набор строк номеров версий: platform.python_version_tuple()

platform.python_version_tuple() — это функция, которая возвращает кортеж из (major, minor, patchlevel).
Содержимое кортежа — это не число, а строка.

platform.python_version_tuple()
Возвращает версию Python в виде кортежа строк (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_info, это просто кортеж, поэтому доступ к элементу по имени невозможен.

Copied title and URL