У меня проблема при использовании импорта python. Я написал готовый модуль, который сам использует несколько подмодулей (они импортированы).Python импортирует подмодули из подмодуля
например.
module:
main_class.py
submodule1.py
....
Теперь я хочу использовать этот готовый модуль другого супермодуля, поэтому структура папок будет меняться, как этот
supermodule:
main_class_super.py -- this class imports module.main_class
module:
main_class.py
submodule1.py
....
Однако теперь весь импорт, которые используются в коде main_class.py
внутри модуль не в состоянии (Я думаю, потому что импорт теперь работает в пространстве имен main_class_super.py
)
Любая идея, как решить эту проблему без перестройки всех источников?
Конкретная ошибка:
В моих main_class.py
я использую строку:
import submodule1
В моем supermodule.py
я использую строку:
import module.main_class
При выполнении суперкласса импорт module.main_class
, конечно, import submodule1
также выполняется, но не удается, так как он не может найти модуль в пространстве имен supermodule.py
.
Er, я думаю, я не совсем понимаю, как это может мне помочь. Учитывая мою структуру папок, как мне сделать импорт subodule1.py внутри файла supermodule.py? – WodkaRHR
отредактировал ответ, чтобы добавить явное решение – janbrohl
Извините, что беспокою вас снова, я столкнулся с другой проблемой. Внутри этих подмодулей несколько модулей импортируют одни и те же другие модули (например, subodule1 импортирует подмодуль2 и 3, а подмодуль2 также импортирует подмодуль 3. Затем этот импорт внутри субмодуля2 не работает (хотя я изменил его на. Import submodule3). – WodkaRHR