Skip to content

❌ Cannot find reference 'clients' in 'app' ​

Python para Backend · Clase 7 · orders_service

🩻 Contexto ​

Al escribir en orders_service/app/service.py el import:

python
from app.clients.products_client import get_product

el IDE (PyCharm) subrayaba clients en rojo con la inspección:

Cannot find reference 'clients' in 'app'

🔍 Causa ​

No es un error de sintaxis ni de configuración: en ese momento el paquete app/clients/ todavía no existía. Se estaba escribiendo el import primero (pensando ya en el cliente REST que se necesitaba) y creando el módulo después — típico al ir armando un servicio nuevo paso a paso.

✅ Solución ​

Crear el paquete con su archivo __init__.py (para que Python lo reconozca como paquete) y el módulo del cliente:

bash
mkdir -p orders_service/app/clients
touch orders_service/app/clients/__init__.py
# y crear orders_service/app/clients/products_client.py con la función get_product()

En cuanto existieron app/clients/__init__.py y app/clients/products_client.py, el IDE dejó de marcar el import como error.

💡 Este tipo de aviso ("Cannot find reference") es del inspector estático del IDE, no de Python en tiempo de ejecución — Python recién fallaría con ModuleNotFoundError al correr el archivo. El IDE lo adelanta mientras escribes, que es justo su utilidad: avisa antes de ejecutar.

⚠️ Si el import sigue marcado en rojo después de crear el archivo, revisa que el working directory/content root del IDE apunte a la carpeta que contiene app/ (el mismo error de fondo que app-prefix y Pylance no resuelve import).

📎 Apuntes relacionados ​