[英]Flask app getting error of "could not locate flask application. .....FLASK_APP environment variable" for Flask Migrate
我有一個文件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.
我首先嘗試通過執行set FLASK_APP=app.py
然后再次運行flask db init
手動設置FLASK_APP
var,但這並沒有解決問題。
flask
命令行參數需要知道在哪個模塊中定位當前Flask
應用程序實例。
將FLASK_APP
設置為環境變量:
export FLASK_APP=db_table.py
在運行您的flask
命令行應用程序之前。
請參閱命令行界面文檔:
要使 Flask 腳本工作,需要發現一個應用程序。 這是通過導出
FLASK_APP
環境變量來實現的。 它可以設置為導入路徑或包含 Flask 應用程序的 Python 模塊的文件名。
您還可以通過在同一命令行上設置每個命令來設置變量:
FLASK_APP=db_table.py flask db init
您可以參考此文檔了解如何在 Flask 中設置環境變量。
Unix Bash(Linux、Mac 等):
$ export FLASK_APP=hello
$ flask run
Windows CMD:
> set FLASK_APP=hello
> flask run
Windows PowerShell:
> $env:FLASK_APP = "hello"
> flask run
如果您使用 DispatcherMiddleware (werkzeug.wsgi),可能會發生一些問題。 對於遷移時間,將返回對象從 app_dispatch 更改為沒有 app_dispatch 的 app。
這種情況很少見,希望有人幫助...
在 VS 代碼編輯器中,單擊運行和調試。 Select Flask 調試器並鍵入您的文件名。 這對我有用,希望它也對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.