Verificar versão do Python durante a execução (runtime)

Diferença de versão e retrocompatibilidade são problemas que desenvolvedores tem que tratar com frequência. Uma das formas de se fazer isso com Python é verificando qual é a versão está sendo utilizada no momento. Abaixo estão algumas formas de se fazer isso.

A primeira delas é utilizando sys.version. Ele é uma string que retorna uma série de informações e podemos (facilmente) extrair apenas o número da versão:

Como demonstrado, a propriedade sys.version retorna uma string com duas linhas. Uma das formas de extrair o número da versão seria quebrar (split) a string utilizando espaços como referência e pegar a primeira posição do vetor. A alternativa para o split(” “) seria utilizar sys.version[:5], mas quando um dos números da versão passar a utilizar duas casas (exemplo: 3.4.10), esta segunda forma irá falhar.

Existe uma segunda forma de se fazer isso é utilizando a sys.version_info. Ela retorna um vetor com as informações separadas, veja o exemplo:

Conforme demonstrado no exemplo acima, a sys.version_info retorna um vetor com as informações de versão separadas por: major, minor, micro, release level e serial. Desta forma, se a sua quebra de compatibilidade for entre Python 2 e 3, você pode utilizar apenas a informação de major ([0]) do vetor. Pessoalmente, acho esta abordagem mais flexível para fazer esta verificação.

Considerando estas duas formas, veja abaixo o exemplo de como verificar a versão atual do Python:

Se quiser estes fontes de exemplo, eles estão disponíveis no nosso github.

Espero ter ajudado!

 

The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Dev, Python and tagged , , , , , , , , .