Flask应用程序收到“错误消息”,无法找到Flask应用程序。 ..... FLASK_APP环境变量”用于烧瓶迁移 [英] Flask app getting error of "could not locate flask application. .....FLASK_APP environment variable" for Flask Migrate
问题描述
我有一个文件 db_table.py
看起来像:
I have a file db_table.py
that looks like:
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
,但这并不能解决问题。
I tried first manually setting FLASK_APP
var, by doing set FLASK_APP=app.py
then running flask db init
again, but that didn't resolve the issue.
推荐答案
烧瓶
命令行参数需要知道要定位的模块当前的 Flask
应用程序实例。
The flask
command line argument needs to know what module to locate the current Flask
app instance in.
设置 FLASK_APP
作为环境变量:
export FLASK_APP=db_table.py
在运行烧瓶
命令行应用之前。
before running your flask
command-line app.
请参见 命令行界面文档:
要使flask脚本正常工作,需要发现一个应用程序。这是通过导出
FLASK_APP
环境变量来实现的。可以将其设置为导入路径,也可以设置为包含Flask应用程序的Python模块的文件名。
For the flask script to work, an application needs to be discovered. This is achieved by exporting the
FLASK_APP
environment variable. It can be either set to an import path or to a filename of a Python module that contains a Flask application.
您还可以设置通过在同一命令行上设置变量每个命令:
You can also set the variable per command by setting it on the same command line:
FLASK_APP=db_table.py flask db init
这篇关于Flask应用程序收到“错误消息”,无法找到Flask应用程序。 ..... FLASK_APP环境变量”用于烧瓶迁移的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!