ImportError:无法导入名称
我有两个文件app.py
,mod_login.py
app.py
from flask import Flaskfrom mod_login import mod_login
app = Flask(__name__)
app.config.update(
USERNAME='admin',
PASSWORD='default'
)
mod_login.py
# coding: utf8from flask import Blueprint, render_template, redirect, session, url_for, request
from functools import wraps
from app import app
mod_login = Blueprint('mod_login', __name__, template_folder='templates')
而python返回此错误:
Traceback (most recent call last): File "app.py", line 2, in <module>
from mod_login import mod_login
File "mod_login.py", line 5, in <module>
from app import app
File "app.py", line 2, in <module>
from mod_login import mod_login
ImportError: cannot import name mod_login
如果删除from app import app,代码将起作用,但是如何访问app.config
?
回答:
问题是你有一个循环导入:在app.py中
from mod_login import mod_login
在mod_login.py中
from app import app
这在Python中是不允许的。有关更多信息,请参见Python中的循环导入依赖项。简而言之,解决方案是
要么将所有内容收集到一个大文件中
使用本地导入延迟导入之一
以上是 ImportError:无法导入名称 的全部内容, 来源链接: utcz.com/qa/417452.html