flask 说 "did not provide the FLASK_APP environment variable"

标签 flask flask-migrate

我正在尝试使用 flask run 运行 Flask 应用程序但无论如何,我都会收到此错误:

Error: Could not locate Flask application. You did not provide the FLASK_APP environment variable.

我在我的项目中使用 virtualenv,我在端口 80 上运行应用程序,所以我以 super 用户身份运行命令。最终,我只需要使用 flask db init命令如 Flask-Migrate 的 docs 中所述, 但是 flask需要能够找到应用程序来做到这一点。这是我尝试过的,但没有成功:

导出 FLASK_APP环境变量,确保它在我的 bash 配置文件中,然后激活 virtualenv
$ export FLASK_APP=run.py
$ printenv FLASK_APP
run.py
$ . env/bin/activate
(env) $ sudo flask run
Error: Could not locate Flask application. You did not provide the     FLASK_APP environment variable.

激活 virtualenv,然后导出 FLASK_APP
$ . env/bin/activate
(env) $ export FLASK_APP=run.py
(env) $ printenv FLASK_APP
run.py
(env) sudo flask run
Error: Could not locate Flask application. You did not provide the     FLASK_APP environment variable.

以上两个带有完整路径,/Users/me/code/project/run.py
$ printenv FLASK_APP
/Users/me/code/project/run.py

项目结构
myproject/
    ├──app/
    |  ├── __init__.py
    |  ├── models.py
    |  ├── templates/
    |  └── views.py
    ├── tests/
    ├── run.py
    ├── requirements.txt
    └── config.py

到目前为止,没有任何效果,并且每种情况下的错误消息都是相同的。我能做些什么来解决这个错误?

最佳答案

如果您使用的是 Windows,请确保 equal 周围没有空格:

set FLASK_APP=app.py

代替
set FLASK_APP = app.py

这就是发生在我身上的事。由于空格,我收到“您没有提供 FLASK_APP 环境变量”错误。

关于 flask 说 "did not provide the FLASK_APP environment variable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620674/

相关文章:

python - 如何在多个开发环境中使用 Flask-migrate

flask - 有没有办法在执行后修改flask db migrate消息?

python - Flask WTForms BooleanField UnboundField

python-3.x - 使用python/flask在Google App Engine中以编程方式创建任务(推送)队列

python - Flask-Admin Role Based Access - 根据角色修改访问权限

python - flask 测试 : issues with session management with unittests

python - 每次迁移时 Alembic 都会重新创建外键,导致表上出现重复的外键

python - Flask 迁移忽略外键

python - postgres 数据库 View 上的 Flask Admin