我正在尝试使用 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/