簡體   English   中英

Flask 應用程序出現“找不到 flask 應用程序。.....FLASK_APP 環境變量”錯誤 Flask 遷移

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM