Apariencia
❌ ModuleNotFoundError: No module named 'app'
Clase 4 · en
repositories/ticket_repository.pyyservices/ticket_service.py
🧨 Qué pasó
python
from app.models.ticket import Ticket
from app.schemas.ticket import TicketCreate, TicketUpdateModuleNotFoundError: No module named 'app'Pasó (o casi pasa) 3 veces en la misma clase: en repositories/ticket_repository.py, en services/ticket_service.py, y de nuevo con el migrations/env.py mostrado en el material del curso (from app.db.database import Base, etc.) — viene de que ese material corre el proyecto desde otra carpeta (ver causa).
🔍 Causa
El material de referencia corre el proyecto desde un nivel más arriba de app/ (fuera de esa carpeta), y ahí sí app es un paquete importable (from app.models...). En este proyecto, la convención que se viene usando desde el principio es correr desde adentro de app/ (ahí vive el .venv, ahí se activa), así que acá no existe ningún paquete llamado app — los paquetes son directamente models, schemas, repositories, services, etc.
✅ Solución
python
from models.ticket import Ticket
from schemas.ticket import TicketCreate, TicketUpdateSin el prefijo app. — igual que en models/user.py, models/ticket.py y el resto de archivos del proyecto.
💡 Regla para no repetirlo: antes de escribir un import entre carpetas propias del proyecto, mirate un archivo que ya funcione (ej.
models/ticket.py) y copiá el mismo estilo de import — no el de un tutorial externo, que puede correr el proyecto desde otra carpeta.
📎 Relacionado
- [[python-command-not-found]]