У меня есть следующая структура проекта: 1
а вот содержимое файлов:
# run.py
from module.submodule.base import DefaultObject
d = DefaultObject()
# module/sumbodule/base.py
from module.submodule.modulea import A
class BaseObject(object):
pass
class DefaultObject(BaseObject):
def return_something(self):
return A()
# module/submodule/modulea.py
from module.submodule.moduleb import B
class A(object):
def return_something(self):
return B()
# module/submodule/moduleb.py
from module.submodule.base import BaseObject
class B(BaseObject):
pass
и когда я пытаюсь запустить python3 run.py
, я получаю ImportError: cannot import name 'BaseObject
Я не понимаю, почему я могу импортировать class B
в modulea.py
, но я не могу class BaseObject
в moduleb.py
Как правильно делать импорт в такой ситуации?