Python 项目文件中的 ImportError

Python ImportError inside project files

当我的 Flask 应用 运行 python manage.py db migrate 时,我陷入了导入错误。我在回溯文件(一般,本地)中尝试了很多与导入语句的组合。

Traceback (most recent call last):
     File "src/manage.py", line 7, in <module>
         from api import app, db
     File "/api/src/api.py", line 6, in <module>
         import auth.views
     File "/api/src/auth/views.py", line 3, in <module>
         import models
     File "/api/src/models.py", line 2, in <module>
         from api import app
ImportError: cannot import name 'app'

有什么想法吗?

你能试试吗

import os
from flask import Flask
from flask_bcrypt import Bcrypt
from flask_sqlalchemy import SQLAlchemy
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

app_settings = os.getenv(
    'APP_SETTINGS',
    'config.DevelopmentConfig'
)
app.config.from_object(app_settings)

bcrypt = Bcrypt(app)
db = SQLAlchemy(app)

# Try by keeping the import here?
import auth.views
app.register_blueprint(auth.views.auth_blueprint)

此问题最可能的原因是您在创建 app 之前就在 auth.views 和模型中引用了 app Flask 对象 对象....

ImportError: 无法导入名称 'app'

因此,如果您在创建应用程序后导入 auth.views,那么参考将起作用....