Pular para o conteudo
MODULO 5.1

🐍 Python + Claude Code

Setup Python com pyenv, virtual environments, gerenciamento de dependencias e seus primeiros scripts assistidos por IA. O alicerce para tudo que vem depois nesta trilha.

6
Topicos
~40
Minutos
T1-T4
Pre-requisito
Pratico
Tipo
Progresso: 0% 0 de 6
1

🔧 Setup Python (pyenv/python3)

Antes de pedir qualquer coisa ao Claude Code em Python, voce precisa de um Python funcional. A forma mais confiavel e usar pyenv para gerenciar versoes ou o python3 nativo do sistema. O pyenv permite ter multiplas versoes lado a lado e trocar entre elas por projeto.

Claude Code consegue detectar qual versao de Python esta ativa e adaptar o codigo gerado. Mas se voce nao tem um setup limpo, ele vai gerar codigo para uma versao que talvez nao exista na sua maquina. Comece certo.

terminal
# Instalar pyenv (macOS/Linux)
curl https://pyenv.run | bash

# Instalar Python 3.12
pyenv install 3.12

# Definir como versao do projeto
cd meu-projeto
pyenv local 3.12

# Verificar
python --version   # Python 3.12.x

Em 1 frase: pyenv te da a versao certa de Python por projeto, sem conflitos.

2

📦 Virtual environments (venv/uv)

Um virtual environment e uma copia isolada do Python para cada projeto. Sem ele, pacotes de projetos diferentes colidem. O venv vem com Python; o uv e uma alternativa moderna e muito mais rapida.

terminal
# Opcao 1: venv padrao
python3 -m venv .venv
source .venv/bin/activate

# Opcao 2: uv (rapido)
pip install uv
uv venv .venv
source .venv/bin/activate

# Verificar que esta no venv
which python  # deve apontar para .venv/bin/python

Erro comum

Esquecer de ativar o venv antes de rodar pip install. O pacote vai para o Python global e nao fica no projeto.

Em 1 frase: sempre crie um .venv por projeto; sempre ative antes de instalar pacotes.

3

📥 pip/uv para dependencias

Quando Claude Code gera codigo que usa requests, fastapi ou qualquer outro pacote, voce precisa instala-lo. O pip e o gerenciador padrao; uv pip faz a mesma coisa 10-100x mais rapido. O arquivo requirements.txt registra exatamente o que foi instalado.

terminal
# Instalar um pacote
pip install requests

# Travar dependencias
pip freeze > requirements.txt

# Instalar de um requirements.txt
pip install -r requirements.txt

# Alternativa rapida com uv
uv pip install -r requirements.txt

Em 1 frase: pip install + pip freeze = dependencias travadas e reproduziveis.

4

📝 Scripts de automacao basicos

O fluxo classico com Claude Code: voce descreve o que quer automatizar, ele gera o script, voce roda e ajusta. Comece com scripts pequenos que fazem UMA coisa bem. Use argparse para argumentos, pathlib para caminhos e if __name__ == "__main__" como ponto de entrada.

organize_files.py
#!/usr/bin/env python3
"""Organiza arquivos por extensao em subpastas."""
import argparse
from pathlib import Path

def organize(directory: Path) -> None:
    for f in directory.iterdir():
        if f.is_file() and not f.name.startswith('.'):
            ext_dir = directory / f.suffix.lstrip('.')
            ext_dir.mkdir(exist_ok=True)
            f.rename(ext_dir / f.name)
            print(f"  {f.name} -> {ext_dir.name}/")

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("dir", type=Path)
    args = parser.parse_args()
    organize(args.dir)

Em 1 frase: scripts pequenos + argparse + pathlib = automacao limpa que Claude Code gera em segundos.

5

🐛 Debugging com Claude

Quando um script falha, cole o traceback inteiro no Claude Code. Ele identifica o erro, sugere o fix e pode aplicar direto. Para bugs mais sutis, use pdb (o debugger nativo) ou breakpoint() para pausar a execucao e inspecionar variaveis.

Workflow de debug com Claude Code

1. Roda o script e pega o erro

2. Cola o traceback completo no Claude Code

3. Claude identifica a causa e aplica o fix

4. Roda de novo para confirmar

Em 1 frase: traceback + Claude Code = debug em segundos, nao em horas.

6

🏷️ Type hints assistidos por IA

Python e dinamico, mas type hints tornam o codigo mais seguro e mais facil para a IA entender. Peca ao Claude Code para adicionar type hints ao seu codigo existente: "adicione type hints a todas as funcoes deste modulo". Use mypy para verificar.

exemplo com type hints
from pathlib import Path

def count_lines(filepath: Path) -> int:
    """Conta linhas de um arquivo."""
    return len(filepath.read_text().splitlines())

def process_files(directory: Path, ext: str = ".py") -> dict[str, int]:
    """Retorna {arquivo: n_linhas} para cada arquivo com a extensao."""
    return {
        f.name: count_lines(f)
        for f in directory.glob(f"*{ext}")
    }

Em 1 frase: type hints = codigo mais claro para voce, para a IA e para o mypy.

🧾 Resumo do Modulo

pyenv + python3 para ter a versao certa sempre.
venv/uv isola dependencias por projeto.
pip freeze + requirements.txt trava o que foi instalado.
Scripts + argparse + pathlib e o padrao para automacao.
Debug com traceback e o superpoder de Claude Code.
Type hints tornam o codigo mais seguro e legivel.

Proximo modulo:

5.2 — Automacao de Scripts: scraping, file processing e scheduling.