С некоторых пор (как отменили относительный импорт) не могу нормально решить такой вопрос:
Предположим, структура программы
app/ __init__.py foo/ __init__.py handler.pyКак из модуля handler.py загрузить что-либо из пакета foo?
Всё дело в том, что изначально имя пакета foo неизвестно, загружаю я его с помощью importlib.
Пока я нашёл такой костыль: обрезаю переменную __name__, которая в handler.py равна 'foo.handler', т.е. так
foo_name = __name__.rsplit('.', 1)[0]а потом загружаю необходимый мне модуль
needle_module = importlib.import_module('.' + <имя модуля>, foo_name)но, как-то, не кошерно это...
question@mail.ru
·