У меня есть пакет, с которого я пытаюсь импортировать определенные модули, но не могу. Способ структурирования моего каталога:
top/
main_script.py
middle/
foo.py
utils.py
__init__.py'
foo.py импортирует utils.py просто отлично, когда я его запускаю, однако, если я запустил main_script.py, foo.py не сможет импортировать utils.py, предоставив мне ModuleNotFoundError: Нет модуля с именем 'utils.py'
Способ импорта foo.py в main_script.py: from middle import foo
Способ импорта utils.py в foo.py: import utils
Если я импортирую, скажем, numpy в foo.py вместо импорта utils и запускать main_script.py, он будет импортироваться и запускаться просто отлично, однако если foo.py содержит utils, тогда запуск main_script.py завершится с ошибкой.
Любая идея о том, как исправить это, не помещая my main_script.py в середину?
Попробуй это:
main_script.py
from middle import foo
print(__name__)
foo.py
from middle import utils
print(__name__)
utils.py
print(__name__)
Чтобы узнать больше об этом, просто проверьте документы
Было бы полезно, если бы вы могли поделиться тем, как вы импортируете в main_script.
Ваш импорт должен быть:
from middle import foo
Или же
from middle import foo, utils
foo.py
автору может потребоваться указать, чтоutils
импортируются изmiddle
, так что это скриптimport middle.utils as utils
:import middle.utils as utils
.