信封.运行Minimal Flask应用程序时未设置变量

Bat*_*ool 24 python flask

我正在尝试按照以下链接在我的Windows机器上关注烧瓶文档:http: //flask.pocoo.org/docs/0.11/quickstart/#debug-mode

首先,我在python脚本中编写了下面的代码:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

我将其保存在一个名为的文件中 run.py

然后在命令窗口中编写此命令:

set FLASK_APP = run.py 
flask run
Run Code Online (Sandbox Code Playgroud)

运行此时,我收到以下错误:

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

我期待得到这个:

Running on http://127.0.0.1:5000/
Run Code Online (Sandbox Code Playgroud)

有人能告诉我如何解决这个问题吗?

小智 52

我在使用PowerShell时遇到了同样的问题,并且该修复程序对我有用:
而不是使用set FLASK_APP = run.py,请尝试$env:FLASK_APP = "run.py"

  • 在使用 PowerShell 时,此解决方案适用于我的情况。谢谢! (3认同)

Inz*_*lik 11

如果你正在使用powershell它不起作用我不知道为什么请使用cmd.exe 因为我使用VScode编辑器它默认提供powershell作为终端(ctrl+)所以我试图在powershell上运行烧瓶应用程序,它给了我同样的响应,你越来越好

1)打开cmd.exe(或者如果你像我这样的VSCode用户只需cmd在该终端上写入)

2)set FLASK_APP=hello.py(没有空格,仅用于第一次运行然后记住直到重新启动cmd)

3)flask run(或只是烧瓶也会工作)

注意:这仅适用于Windows用户


cri*_*fan 8

  1. export FLASK_APP=run.py
  2. flask run --host=0.0.0.0

然后可以正常运行,输出如下:

 * Serving Flask app "hello"
 * Forcing debug mode on
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger pin code: 353-795-063
Run Code Online (Sandbox Code Playgroud)


Vik*_*ole 7

我想知道为什么答案中缺少这一点。

这是一个简单的解决方案:

添加 app.run(port=5000)

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

app.run(port=5000)
Run Code Online (Sandbox Code Playgroud)

然后在同一目录中运行命令

python run.app
Run Code Online (Sandbox Code Playgroud)