Я пытаюсь найти способ определить функцию журнала в файле widgets/__init__.py
, который затем можно использовать в подпакетах.
В настоящее время у меня есть такая файловая структура:
app.py
widgets/__init__.py
widgets/input/__init__.py
widgets/input/input.py
Содержимое app.py:
import widgets
widgets.input.create_foo()
Содержимое widgets/__init__.py
:
from .input import input
def foo():
print('foo')
Содержимое widgets/input/input.py
:
from .. import foo
def create_foo():
foo()
If Я запускаю его так, я получаю сообщение об ошибке «ImportError: невозможно импортировать имя« foo »из« widgets »из widgets/__init__.py
. Это имеет смысл, потому что я пытаюсь импортировать функцию, которая еще не создана.
Я бы хотел избежать создания отдельного модуля или подпакета только для этой 1 функции. Есть ли простой способ определить функцию 'foo ()' внутри widgets/__init__.py
, которую можно использовать в подпакетах? Что я здесь не так делаю?
Причина, по которой я хочу сделать это так, заключается в том, что я хочу иметь функцию журнала, которую я могу использовать повсюду в подпакетах, без необходимости воссоздавать ее в каждой подпапке. -package.
Я все еще новичок во всем этом пакете, поэтому, пожалуйста, не жарьте меня до упора :))