PTENES
Saltar al contenido
MÓDULO 5.1

🐍 Python + Claude Code

Setup de Python con pyenv, virtual environments, gestión de dependencias y tus primeros scripts asistidos por IA. La base para todo lo que viene después en esta ruta.

6
Temas
~40
Minutos
T1-T4
Requisito previo
Práctico
Tipo
Progreso: 0% 0 de 6
1

🔧 Configuración de Python (pyenv/python3)

Antes de pedirle cualquier cosa a Claude Code en Python, necesitas tener un Python funcional. La forma más confiable es usar pyenv para gestionar versiones o el python3 nativo del sistema. pyenv permite tener varias versiones en paralelo y cambiar entre ellas según el proyecto.

Claude Code puede detectar qué versión de Python está activa y adaptar el código generado. Pero si no tienes una configuración limpia, generará código para una versión que quizá no exista en tu máquina. Empieza bien.

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

En 1 frase: pyenv te da la versión correcta de Python por proyecto, sin conflictos.

2

📦 Entornos virtuales (venv/uv)

Un entorno virtual es una copia aislada de Python para cada proyecto. Sin ella, los paquetes de distintos proyectos entran en conflicto. El venv viene con Python; el uv es una alternativa moderna y mucho más rápida.

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

Error común

Olvidar activar el venv antes de ejecutar pip install. El paquete se instala en el Python global y no queda en el proyecto.

En 1 frase: siempre crea un .venv por proyecto; actívalo siempre antes de instalar paquetes.

3

📥 pip/uv para dependencias

Cuando Claude Code genera código que usa requests, fastapi o cualquier otro paquete, tienes que instalarlo. El pip es el gestor predeterminado; uv pip hace lo mismo entre 10 y 100 veces más rápido. El archivo requirements.txt registra exactamente lo que se instaló.

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

En 1 frase: pip install + pip freeze = dependencias fijadas y reproducibles.

4

📝 Scripts básicos de automatización

El flujo clásico con Claude Code: describes lo que quieres automatizar, genera el script, lo ejecutas y lo ajustas. Empieza con scripts pequeños que hagan UNA cosa bien. Usa argparse para argumentos, pathlib para rutas y if __name__ == "__main__" como punto 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)

En 1 frase: scripts pequeños + argparse + pathlib = automatización limpia que Claude Code genera en segundos.

5

🐛 Depuración con Claude

Cuando falla un script, pega el traceback completo en Claude Code. Identifica el error, sugiere la solución y puede aplicarla directamente. Para bugs más sutiles, usa pdb (el depurador nativo) o breakpoint() para pausar la ejecución e inspeccionar variables.

Flujo de depuración con Claude Code

1. Ejecuta el script y obtén el error

2. Pega el traceback completo en Claude Code

3. Claude identifica la causa y aplica la corrección

4. Vuelve a ejecutarlo para confirmar

En 1 frase: traceback + Claude Code = depuración en segundos, no en horas.

6

🏷️ Type hints asistidos por IA

Python es dinámico, pero type hints hacen que el código sea más seguro y más fácil de entender para la IA. Pídele a Claude Code que agregue type hints a tu código existente: "adicione type hints a todas as funcoes deste modulo". Usa mypy para verificar.

ejemplo con 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}")
    }

En 1 frase: type hints = código más claro para ti, para la IA y para mypy.

🧾 Resumen del módulo

✓
pyenv + python3 para tener siempre la versión correcta.
✓
venv/uv aísla las dependencias por proyecto.
✓
pip freeze + requirements.txt bloquea lo que se instaló.
✓
Scripts + argparse + pathlib es el estándar para la automatización.
✓
Debug con traceback es el superpoder de Claude Code.
✓
Type hints hacen que el código sea más seguro y legible.

Siguiente módulo:

5.2 — Automatización de scripts: scraping, procesamiento de archivos y programación de tareas.