Flask - 代码更改时网络服务器未重新加载

问题描述 投票:0回答:12

由于某种原因,127.0.0.1:5000(端口 5000)卡住显示我的旧的未更新文件。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
    return "Home page"

@app.route("/about")
def about():
    return "About page"

if __name__ == "__main__":
    app.run()

我更改了端口并且工作正常。 但是,为什么当我更改并运行代码时 5000 没有更新? 我检查了是否有多个进程正在运行,但没有一个进程正在运行。

老实说,这是一个菜鸟问题,但我似乎找不到其他人遇到过这个问题。

python flask port
12个回答
12
投票

按 CTR + C 在终端上结束服务器,然后将其复制并粘贴到终端中以再次运行 Flask

export FLASK_DEBUG=1 && flask run

这将设置调试模式:打开


8
投票

在 powershell 中设置变量 -

$env:FLASK_DEBUG=1

7
投票

不!您尚未在 调试模式下运行您的应用程序。

app.run(debug=True)

这样,代码中的任何更改都将重新启动服务器,并且代码更改将几乎实时反映。


4
投票

我不知道为什么会发生这种情况。其他答案没有帮助。社区应该提供帮助。

其他两个选项:

  1. 如果您使用的是 Visual Studio Code,请关闭并打开它。

  2. 卸载并重新安装python。


3
投票

对于那些在将

debug=True
正确传递给
app.run()
时仍在努力解决此问题的人,Flask (2.0.x) 文档指出:

debug=True 可以传递以启用调试器和重新加载器,但仍需要 FLASK_ENV=开发环境变量才能完全启用开发模式

参见 https://flask.palletsprojects.com/en/2.0.x/server/

因此,您还应该在

export FLASK_ENV=development
之前使用
flask run
运行开发服务器。


2
投票

flask --app <.py file name> --调试运行


1
投票

使用 Shift+F5 重新加载页面。但请确保应用程序应处于调试模式,即 app.run(debug=True).


0
投票

如果您使用内置的 app.run() 尝试添加 app.run(debug=True) 就解决了。


0
投票

Flask 服务器不知何故冻结了。对我来说,解决方案是在任务管理器中终止

pythonw.exe
进程。


0
投票

对我来说,运行这三个命令解决了重新加载问题(Windows 机器):

$env:FLASK_APP = "main.py"
$env:FLASK_DEBUG = 1
flask run

0
投票

我的问题是另一个应用程序(Proton Mail Bridge)正在侦听我的 Flask 应用程序所在的同一端口(5000),但是没有抛出错误。如果您使用的是 Windows,我会尝试在以管理员身份打开后在 CMD 中运行

netstat -ab
,看看是否有任何应用程序正在侦听您的 Flask 应用程序正在运行的同一端口。

4.5年后我知道了,但我之前找不到任何答案。


0
投票

保存文件即可解决问题

© www.soinside.com 2019 - 2024. All rights reserved.