---
title: "Qual Versão do Python Devo Usar?"
url: "https://python.dev.br/perguntas/qual-versao-python-usar/"
markdown_url: "https://python.dev.br/perguntas/qual-versao-python-usar.MD"
description: "Saiba qual versão do Python instalar em 2025. Diferenças entre versões, ciclo de suporte, compatibilidade e recomendações práticas"
date: "2025-11-23"
author: ""
---

# Qual Versão do Python Devo Usar?

Saiba qual versão do Python instalar em 2025. Diferenças entre versões, ciclo de suporte, compatibilidade e recomendações práticas


## Qual versão do Python devo usar?

A recomendação para 2025 e 2026 é usar **Python 3.12** ou **Python 3.13**. Ambas são versões estáveis, com suporte ativo e compatíveis com a grande maioria das bibliotecas do ecossistema.

Se você está começando agora, instale a versão mais recente disponível (Python 3.13). Se está mantendo um projeto existente, use a versão mais recente que seja compatível com todas as suas dependências.

## Nunca use Python 2

Python 2 foi oficialmente descontinuado em 1 de janeiro de 2020. Ele não recebe mais atualizações de segurança e a maioria das bibliotecas modernas não oferece suporte. Se você encontrar tutoriais que usam `print "texto"` (sem parênteses), saiba que é código Python 2 e deve ser evitado.

As diferenças entre Python 2 e 3 são significativas. Código escrito para Python 2 geralmente não funciona em Python 3 sem modificações.

## Ciclo de lançamento do Python

Python segue um ciclo de lançamento anual previsível:

- Uma nova versão menor (3.x) é lançada todo mês de **outubro**
- Cada versão recebe **2 anos de suporte completo** (bugfixes e segurança)
- Mais **3 anos de suporte de segurança** (apenas correções de segurança)
- Total de **5 anos de suporte** por versão

### Status das versões em 2025-2026

| Versão | Lançamento | Fim do suporte | Status |
|--------|-----------|----------------|--------|
| 3.9 | Out 2020 | Out 2025 | Segurança (quase expirando) |
| 3.10 | Out 2021 | Out 2026 | Segurança |
| 3.11 | Out 2022 | Out 2027 | Segurança |
| 3.12 | Out 2023 | Out 2028 | Ativo |
| 3.13 | Out 2024 | Out 2029 | Ativo |

## Novidades das versões recentes

### Python 3.12

Lançado em outubro de 2023, trouxe melhorias significativas:

- **Mensagens de erro mais detalhadas**: erros de sintaxe agora sugerem correções
- **Performance**: até 5% mais rápido que o 3.11
- **f-strings melhoradas**: agora aceitam expressões mais complexas
- **Type aliases com `type`**: nova sintaxe para definir tipos

```python
# Type alias (novo no 3.12)
type Ponto = tuple[float, float]
type Matriz = list[list[float]]

# f-strings mais flexiveis
nome = "Python"
print(f"{'Bem-vindo ao ' + nome:>30}")
```

### Python 3.11

O salto de performance mais significativo na história recente do Python:

- **10 a 60% mais rápido** que o Python 3.10
- Grupos de exceções (`ExceptionGroup`)
- Notas em exceções (`Exception.add_note()`)
- Tipo `Self` para type hints

### Python 3.10

Introduziu funcionalidades que se tornaram essenciais:

- **Structural pattern matching** (`match`/`case`): equivalente ao switch/case de outras linguagens
- **Mensagens de erro melhoradas**: primeira versão com erros mais descritivos
- **Tipos union com `|`**: `int | str` em vez de `Union[int, str]`

```python
# Match/case (Python 3.10+)
def classificar(status_code):
    match status_code:
        case 200:
            return "Sucesso"
        case 404:
            return "Nao encontrado"
        case 500:
            return "Erro interno"
        case _:
            return "Status desconhecido"

# Union types simplificados
def processar(valor: int | str) -> str:
    return str(valor)
```

## Como verificar sua versão atual

```bash
python3 --version
# ou
python --version
```

Se o resultado mostrar Python 2.x, use `python3` explicitamente em vez de `python`.

## Instalando uma versão específica

### Linux (Ubuntu/Debian)

```bash
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12
```

### macOS

```bash
brew install python@3.12
```

### Windows

Baixe o instalador específico da versão em [python.org/downloads](https://www.python.org/downloads/).

### Múltiplas versões com pyenv

O `pyenv` permite instalar e alternar entre múltiplas versões do Python:

```bash
# Instalar pyenv
curl https://pyenv.run | bash

# Instalar uma versão especifica
pyenv install 3.12.5

# Definir como padrao global
pyenv global 3.12.5

# Definir por projeto
pyenv local 3.13.0
```

## Qual versão escolher para projetos novos

Para projetos novos, use a versão estável mais recente (Python 3.13 em 2025). Isso garante:

- Suporte mais longo (5 anos a partir do lançamento)
- Melhor performance
- Acesso às funcionalidades mais recentes
- Compatibilidade com bibliotecas modernas

## Qual versão usar em projetos existentes

Para projetos em produção, considere:

1. Verifique se todas as suas dependências suportam a versão desejada
2. Prefira versões com suporte ativo (bugfix), não apenas segurança
3. Planeje atualizações quando uma versão estiver próxima do fim do suporte
4. Teste exaustivamente antes de atualizar em produção

Uma boa prática é suportar pelo menos duas versões no seu projeto:

```toml
# pyproject.toml
[project]
requires-python = ">=3.11"
```

## Compatibilidade de bibliotecas

A maioria das bibliotecas populares suporta as 3 a 4 versões mais recentes do Python. Algumas dicas:

- **Django 5.x**: Python 3.10+
- **Flask 3.x**: Python 3.8+
- **Pandas 2.x**: Python 3.9+
- **NumPy 2.x**: Python 3.9+
- **TensorFlow 2.x**: Python 3.9 a 3.12 (frequentemente demora para suportar a versão mais nova)

Se você trabalha com machine learning, verifique a compatibilidade do TensorFlow e PyTorch antes de atualizar, pois essas bibliotecas costumam demorar alguns meses para suportar novas versões do Python.

## Conclusão

Para a grande maioria dos casos, instale a versão estável mais recente do Python (3.12 ou 3.13 em 2025). Evite completamente o Python 2, que está descontinuado. Use o `pyenv` se precisar alternar entre versões para diferentes projetos. A regra geral é simples: mantenha-se atualizado, mas sempre verifique a compatibilidade das suas dependências antes de atualizar.

Se você está explorando outras linguagens, veja como <a href="https://golang.com.br/blog/" target="_blank" rel="noopener" onclick="umami.track('portfolio-site-click', {source: 'python.dev.br', target: 'golang.com.br', content: 'qual-versao-python-usar'})">Go gerencia versões com simplicidade</a> e como <a href="https://rustlang.com.br/blog/" target="_blank" rel="noopener" onclick="umami.track('portfolio-site-click', {source: 'python.dev.br', target: 'rustlang.com.br', content: 'qual-versao-python-usar'})">Rust usa o rustup para gerenciar toolchains</a>.
