У меня есть файловая структура:
└── project
├── __init__.py
├── main.py
└── package1
├── __init__.py
├── module1
└── subpackage
├── __init__.py
└── module2.py
module2 содержит функцию с именем A, а модуль 1 импортирует module2 с кодом:
from subpackage import module2
это работает нормально при непосредственном запуске module1, но когда я пытаюсь импортировать module1 из main.py, я получаю сообщение об ошибке. Код для оператора импорта в main.py:
from package1 import module1
это дает ошибку
Traceback (most recent call last):
File "C:\...\project\main.py", line 1, in <module>
from package1 import module1
File "C:\...\project\package1\module1.py", line 1, in <module>
from subpackage import module2
ModuleNotFoundError: No module named 'subpackage'
Я не совсем понимаю, что здесь происходит, я попытался изменить текущий рабочий каталог с помощью os.chdir () на package2 в module1, но это не дало никакого эффекта. После изучения проблемы единственное, что я мог найти, что могло иметь отношение к моей проблеме, было абсолютное отношение к относительному импорту, но изменение операторов импорта не повлияло на ошибку.