Qual versão do Python devo instalar?#

Se você está começando agora, e tem um certo senso crítico e um perfil questionador, provavelmente você deve ter feito esta pergunta.

Esta seção é um guia geral para o ajudar a escolher a versão do Python a ser instalada, bem como descrever e detalhar o tópico sobre versões do Python.

Tudo bem também se você só instalou a versão mais recente.

Atenção

Recomendo que você leia este material ao menos para ter uma noção geral do tema, pois versões diferentes do Python é a causa raiz de muitos problemas!

Compatibilidade com sistema operacional#

Conforme os desenvolvedores e mantenedores do Python avançam, cada versão nova lançada vai deixando de ser compatível com versões de sistemas operacionais mais antigos.

Ao passar o mouse aba Downloads (na aba, e não o botão amarelo pra fazer o download!) da página oficial de download do Python você verá a seguinte imagem, caso esteja usando Windows:

../_images/01-04-python-os-compat.png

Fig. 1 fonte: https://www.python.org/downloads/#

Reparem que há explícito Note that Python 3.9+ cannot be used on Windows 7 or earlier, ou seja, Python na versão 3.9 ou acima (3.10, 3.11, 3.12) não podem mais ser usados no Windows 7 ou versões anteriores.

O que significam aqueles números na versão?#

As versões da linguagem Python segue um padrão chamado versionamento semântico.

É uma forma de dar números às versões de um software ou linguagem de programação de maneira organizada e significativa. Ele usa três números separados por pontos, no formato X.Y.Z (exemplo: Python 3.11.9). Os nomes técnicos destes números são X (major), Y (minor) e Z (patch) onde:

  • X (versão principal): É incrementado quando há mudanças grandes e incompatíveis com versões anteriores. Por exemplo, no Python, isso aconteceu quando passou da versão 2 para a versão 3. Esta mudança para Python 3 introduziu várias incompatibilidades com o Python 2.

Cuidado

A mudança do Python 2 para Python 3 aconteceu em 2008, há quase duas décadas atrás. Python 2 é, portanto, muito antigo. A versão 2.7 do Python deixou de receber suporte e atualizações dos seus criadores e mantenedores em 2020.

Se vir alguém explicando algo usando Python 2, fuja para as montanhas! 🏃‍♂️💨⛰️

  • Y (versão secundária): É incrementado quando são adicionadas novas funcionalidades, mas de maneira que ainda é compatível com versões anteriores. Por exemplo, quando Python 3.6 introduziu novas funcionalidades, mas ainda era compatível com Python 3.5.

  • Z (versão de correção): É incrementado para corrigir pequenos problemas ou bugs. Essas correções não afetam as funcionalidades existentes nem adicionam novas funcionalidades significativas. Por exemplo, a atualização de Python 3.6.1 para 3.6.2 trouxe correções de bugs sem adicionar novas funcionalidades significativas.

Para você compreender melhor, supondo que o Python esteja na versão 3.6.2:

  • Se for feita uma pequena correção de bug, a versão vai para 3.6.3.

  • Se for adicionada uma nova funcionalidade, a versão vai para 3.7.0.

  • Se houver uma mudança grande e incompatível, a versão vai para 4.0.0.

Essa forma de versionar ajuda as pessoas a entenderem o tipo de mudanças que foram feitas nas novas versões da linguagem Python, facilitando a manutenção e a evolução da linguagem como um todo.