Como verificar a versão Python nos scripts
-
Método
sys.version
para verificar a versão em Python -
Método
sys.version_info
para verificar a versão em Python -
platform.python_version()
método para verificar a versão do Python -
six
Método de módulo para verificar a versão Python
Em diferentes circunstâncias, precisamos conhecer a versão Python, ou mais precisamente, a versão Python interpreter que está executando o arquivo de scripts Python.
Método sys.version
para verificar a versão em Python
Esta informação da versão pode ser recuperada a partir da sys.version
no módulo sys
.
Em Python 2.x
>>> import sys
>>> sys.version
'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'
ou em Python 3.x
>>> import sys
>>> sys.version
'3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]'
Método sys.version_info
para verificar a versão em Python
O sys.version
retorna uma string contendo a informação da versão legível por humanos do atual intérprete Python. Mas as informações como major release number
e micro release number
precisam de processamento extra para serem derivadas para posterior utilização nos códigos.
O sys.version_info
resolve este problema facilmente retornando a informação da versão como um tuple nomeado. Os dados da versão que ele retorna são,
Dados | Descrição |
---|---|
major |
Número de lançamento principal |
micro |
Número de liberação do patch |
minor |
Número de liberação menor |
releaselevel |
alpha , beta , candidate ou release |
serial |
Número de lançamento em série |
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0)
Você poderia comparar a versão atual com a versão de referência simplesmente utilizando operadores >
, >=
, ==
, <=
ou <
.
>>> import sys
>>> sys.version_info >= (2, 7)
True
>>> sys.version_info >= (2, 7, 11)
False
Poderíamos adicionar um assert
nos scripts para ter certeza que o script roda com o requerimento de uma versão mínima do Python.
import sys
assert sys.version_info >= (3, 7)
Ele irá levantar um AssertionError
se o interpretador não atender ao requisito da versão.
Traceback (most recent call last):
File "C:\test\test.py", line 4, in <module>
assert sys.version_info >= (3, 7)
AssertionError
platform.python_version()
método para verificar a versão do Python
python_version()
in platform
module retorna a versão Python como string major.minor.patchlevel
.
>>> from platform import python_version
>>> python_version()
'3.7.0'
Ou similar a sys.version_info
, platform
também tem um método para retornar a versão Python como tuple (major, minor, patchlevel)
de strings - python_version_tuple()
>>> import platform
>>> platform.python_version_tuple()
('3', '7', '0')
six
Método de módulo para verificar a versão Python
Se você só precisa verificar se a versão Python é Python 2.x ou Python 3.x, você pode usar six
módulo para fazer o trabalho.
from __future__ import print_function
import six
if six.PY2:
print("Python 2.x")
if six.PY3:
print ("Python 3.x")
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook