Importación relativa en Python
📁 python, pregunta, ayuda
Desde hace algún tiempo (desde que se eliminó la importación relativa) no puedo resolver normalmente esta cuestión:
Supongamos la estructura del programa
app/ __init__.py foo/ __init__.py handler.py¿Cómo cargar algo desde el módulo handler.py desde el paquete foo?
El problema es que inicialmente el nombre del paquete foo es desconocido, lo cargo usando importlib.
Por ahora encontré este workaround: recorto la variable __name__, que en handler.py es igual a 'foo.handler', es decir, así
foo_name = __name__.rsplit('.', 1)[0]y luego cargo el módulo que necesito
needle_module = importlib.import_module('.' + <nombre del módulo>, foo_name)pero, como