我正在尝试在我的Flask项目的一个模块中导入一个名为db (SQLAlchemy对象)的对象,以便在我的模型中使用SQLAlchemy (models.py)。假设我的包被命名为Foo,并且在他的__init__.py文件中包含db对象,当我尝试执行from Foo import db时,我得到以下错误:
ImportError: cannot import name db
我使用Flask Blueprint将我的项目分派到两个应用程序(仪表板和前端)中,每个应用程序都包含一个__init__.py文件。只有models.py抛出了这个错误,我在视图文件中获得了一些导入(作为导入登录管理器),一切都进行得很顺利。
你知道这会是什么吗?
更新:回溯
Traceback (most recent call last):
File "run.py", line 4, in <module>
from kuchiyose import app
File "/path_to_project/kuchiyose/kuchiyose/__init__.py", line 60, in <module>
from kuchiyose import dashboard, frontend
File "/path_to_project/kuchiyose/kuchiyose/dashboard/__init__.py", line 10, in <module>
from dashboard import views
File "/path_to_project/kuchiyose/kuchiyose/dashboard/__init__.py", line 10, in <module>
from dashboard import views
File "/path_to_project/kuchiyose/kuchiyose/dashboard/views.py", line 8, in <module>
from kuchiyose.dashboard.models import User
File "/path_to_project/kuchiyose/kuchiyose/dashboard/models.py", line 3, in <module>
from kuchiyose import db
ImportError: cannot import name db发布于 2013-04-14 00:51:26
似乎存在循环导入:
从kuchiyose.dashboard.views
kuchiyose/dashboard/views.py导入kuchiyose/__init__.py从kuchiyose.dashboard.modelskuchiyose/dashboard/models.py导入从kuchiyose导入
有关更多信息,请参见例如Circular (or cyclic) imports in Python ...
https://stackoverflow.com/questions/15989928
复制相似问题