错误:无法找到 Flask 应用程序。您没有提供“FLASK_APP”环境变量,并且在当前目录中找不到“wsgi.py”或“app.py”模块。
我面临这个错误flask run
。
小智 13
我有同样的问题,使用设置环境变量
$env:FLASK_APP="base.py"
Run Code Online (Sandbox Code Playgroud)
然后
flask run
Run Code Online (Sandbox Code Playgroud)
这对我有用。flask db init
这也适用于
Par*_*val 11
执行之前flask run
,需要通过执行指定flask应用程序文件
export FLASK_APP=[YOUR_APP_FILE].py
Run Code Online (Sandbox Code Playgroud)
(注意:确保您的应用程序文件位于根目录中)
您可以创建一个名为.flaskenv
,这样您就不必每次运行应用程序时都键入上述命令 - Flask 会自动查找该文件。
引用自文档:
如果安装了 python-dotenv,运行 Flask 命令将设置文件 .env 和 .flaskenv 中定义的环境变量。这可以用来避免每次打开新终端时手动设置 FLASK_APP,并使用环境变量设置配置,类似于某些部署服务的工作方式。
如果您还没有安装python-dotenv
,请运行pip install python-dotenv
在根目录中创建 .flaskenv 文件并填充以下内容:
FLASK_APP=[YOUR_APP_FILE].py
Run Code Online (Sandbox Code Playgroud)
之后就可以安全执行了flask run
一般来说,这意味着 Flask 找不到您的 Flask 应用程序。正如错误消息所示,当环境不包含有关信息FLASK_APP
(例如 website.py 的 FLASK_APP="website")时,就会发生这种情况。您可以通过设置环境变量或直接使用 python 来解决此问题。
对于环境变量可以使用(对于 website.py)来解决这个问题:FLASK_APP="website" flask run
。对于 Windows,请参阅 Sync 的评论。
使用 python 时,您应该依赖__name__
app.run() 作为开发服务器。添加底部部分后,您可以直接使用以下命令调用脚本python3
:
from flask import Flask
app = Flask(__name__)
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
该
if
子句确保app.run()
仅在直接执行脚本时调用,而不是在app
从其他脚本导入时调用。
注意:如果没有MRE,就很难为您提供帮助。
归档时间: |
|
查看次数: |
62874 次 |
最近记录: |