考虑以下项目结构:
project
...
|-- view
|-- __init__.py
|-- app_view.py
|-- component.py
这些导入和声明:
# __init__.py
from view.app_view import AppView
global APP_VIEW
APP_VIEW = AppView()
# app_view.py
from view.component import Component
class AppView:
def __init__(self):
self.component = Component()
# component.py
from view import APP_VIEW
class Component:
...
ImportError:无法导入名称“ APP_VIEW”
是我一直在收到的消息,我想这与周期性导入结构有关,但是我尝试了其他一些组织,但没有成功。所以我想知道如何解决这种情况。
是的,问题在于,如@ juanpa.arrivillaga所说,是循环/循环导入。该答案详细说明了您的问题如何发生。该问题和答案与您有类似的问题,并且具有快速修复的功能。
您的文件结构不是问题。但是,可以使用singleton模式而不是全局变量来存档要执行的操作。这是这两种方式在python项目中的比较。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句