烧瓶应用程序收到错误“找不到烧瓶应用程序。 ... FLASK_APP环境变量“用于Flask Migrate

问题描述 投票:1回答:1

我有一个文件db_table.py,看起来像:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@localhost/mydb'

db = SQLAlchemy(app)
migrate = Migrate(app, db)
.....db tables....

当我尝试运行时:

flask db init

我明白了:

Error: Could not locate Flask application. You did not provide the FLASK_APP environment variable.

我尝试首先手动设置FLASK_APP var,通过执行set FLASK_APP=app.py然后再次运行flask db init,但这并没有解决问题。

python flask flask-sqlalchemy database-migration
1个回答
7
投票

flask命令行参数需要知道定位当前Flask应用程序实例的模块。

FLASK_APP设置为环境变量:

export FLASK_APP=db_table.py

在运行flask命令行应用程序之前。

Command Line Interface documentation

要使烧瓶脚本起作用,需要发现一个应用程序。这是通过导出FLASK_APP环境变量来实现的。它可以设置为导入路径,也可以设置为包含Flask应用程序的Python模块的文件名。

您还可以通过在同一命令行上设置变量来设置每个命令的变量:

FLASK_APP=db_table.py flask db init
© www.soinside.com 2019 - 2024. All rights reserved.