1. ホーム
  2. python

[解決済み] Flaskアプリで "could not locate flask application "というエラーが発生する。Flask Migrateで「......FLASK_APP環境変数」のエラーが発生する。

2022-02-13 02:49:40

質問

あるファイル 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 を実行することで set FLASK_APP=app.py を実行した後 flask db init を再度実行しましたが、問題は解決しませんでした。

解決方法は?

その flask コマンドライン引数は、どのモジュールが現在の Flask アプリのインスタンスを作成します。

設定 FLASK_APP を環境変数として設定します。

export FLASK_APP=db_table.py

を実行する前に flask コマンドラインアプリを作成します。

をご覧ください。 コマンドラインインターフェース ドキュメント :

flaskスクリプトを動作させるためには、アプリケーションを検出する必要があります。これは FLASK_APP 環境変数を使用します。これは、インポートパスか、Flask アプリケーションを含む Python モジュールのファイル名を設定します。

また、変数 コマンドごとに を同じコマンドライン上で設定することで

FLASK_APP=db_table.py flask db init