问题
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....
When I try to run:
flask db init
I get:
Error: Could not locate Flask application. You did not provide the FLASK_APP environment variable.
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.
回答1:
The flask
command line argument needs to know what module to locate the current Flask
app instance in.
Set FLASK_APP
as an environment variable:
export FLASK_APP=db_table.py
before running your flask
command-line app.
See the Command Line Interface documentation:
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
来源:https://stackoverflow.com/questions/41448088/flask-app-getting-error-of-could-not-locate-flask-application-flask-app-e