首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask应用程序获取flask迁移的错误“找不到Flask应用程序。.....FLASK_APP环境变量”

Flask应用程序获取flask迁移的错误“找不到Flask应用程序。.....FLASK_APP环境变量”
EN

Stack Overflow用户
提问于 2017-01-04 00:34:39
回答 4查看 23.1K关注 0票数 11

我有一个文件db_table.py,如下所示:

代码语言:javascript
复制
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....

当我尝试运行时:

代码语言:javascript
复制
flask db init

我得到了:

代码语言:javascript
复制
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,但这并没有解决问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-04 00:53:03

flask命令行参数需要知道在哪个模块中定位当前的Flask应用程序实例。

FLASK_APP设置为环境变量:

代码语言:javascript
复制
export FLASK_APP=db_table.py

在运行flask命令行应用程序之前。

请参阅 documentation

要使flask脚本工作,需要发现应用程序。这是通过导出FLASK_APP环境变量实现的。它可以设置为导入路径,也可以设置为包含Flask应用程序的Python模块的文件名。

您还可以通过在同一命令行上设置每个命令来设置该变量:

代码语言:javascript
复制
FLASK_APP=db_table.py flask db init
票数 15
EN

Stack Overflow用户

发布于 2020-06-20 14:21:11

您可以参考this documentation来了解如何在Flask中设置环境变量。

Unix Bash (Linux、Mac等):

代码语言:javascript
复制
$ export FLASK_APP=hello
$ flask run

Windows CMD:

代码语言:javascript
复制
> set FLASK_APP=hello
> flask run

Windows PowerShell:

代码语言:javascript
复制
> $env:FLASK_APP = "hello"
> flask run
票数 7
EN

Stack Overflow用户

发布于 2019-12-27 18:00:02

如果使用DispatcherMiddleware (werkzeug.wsgi),可能会出现一些问题。迁移时间将返回对象从app_dispatch改为不带app_dispatch的app。

这是一种罕见的情况,我希望有人能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41448088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档