回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有以下应用程序结构</p>
<pre><code>/application
app.py
/decorators
queryAccessory.py
/auth
__init__.py
dao.py
/controllers
login.py
register.py
/models
user.py
get_user_response.py
/tests
__init__.py
dao.py
/controllers
get_tests.py
/models
test.py
get_tests_response.py
</code></pre>
<p>蓝图在auth和tests包的<strong>init</strong>.py文件中声明。在</p>
^{pr2}$
<p>在测试中/<strong>init</strong>.py as</p>
<pre><code>from flask import Blueprint, request
tayyariTests = Blueprint('tayyariTests', __name__)
from tests.controllers import get_tests
</code></pre>
<p>两份蓝图都登记在应用程序副本.
问题是当<strong>init</strong>.py文件的末尾都有导入时,应用程序不会启动。
如果我从任何1个文件中删除最后的导入行,应用程序就会启动,注册的蓝图就可以正常工作了。但是,当导入同时存在于<strong>init</strong>.py文件时,我会得到以下错误</p>
<pre><code> File "app.py", line 8, in <module>
from auth import tayyariAuth
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/auth/__init__.py", line 5, in <module>
from auth.controllers import register
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/auth/controllers/register.py", line 1, in <module>
from auth import tayyariAuth, dao
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/auth/dao.py", line 1, in <module>
from decorators.queryAccessor import Query
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/decorators/queryAccessor.py", line 1, in <module>
from app import session
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/app.py", line 9, in <module>
from tests import tayyariTests
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/tests/__init__.py", line 5, in <module>
from tests.controllers import get_tests
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/tests/controllers/get_tests.py", line 1, in <module>
from tests import tayyariTests, request, dao, TayyariEncoder
File "/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/tests/dao.py", line 1, in <module>
from decorators.queryAccessor import Query
ImportError: cannot import name 'Query' from 'decorators.queryAccessor' (/Users/anuragjoshi/Work/Tayyari/tayyari/tayyari-rest/decorators/queryAccessor.py)
</code></pre>
<p>请帮助我了解这里发生了什么,以及如何避免这种情况。在</p>
<p>提前谢谢。在</p>