由于某种原因,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 没有更新? 我检查了是否有多个进程正在运行,但没有一个进程正在运行。
老实说,这是一个菜鸟问题,但我似乎找不到其他人遇到过这个问题。
按 CTR + C 在终端上结束服务器,然后将其复制并粘贴到终端中以再次运行 Flask
export FLASK_DEBUG=1 && flask run
这将设置调试模式:打开
在 powershell 中设置变量 -
$env:FLASK_DEBUG=1
不!您尚未在 调试模式下运行您的应用程序。
app.run(debug=True)
这样,代码中的任何更改都将重新启动服务器,并且代码更改将几乎实时反映。
我不知道为什么会发生这种情况。其他答案没有帮助。社区应该提供帮助。
其他两个选项:
如果您使用的是 Visual Studio Code,请关闭并打开它。
卸载并重新安装python。
对于那些在将
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
运行开发服务器。
flask --app <.py file name> --调试运行
使用 Shift+F5 重新加载页面。但请确保应用程序应处于调试模式,即 app.run(debug=True).
如果您使用内置的 app.run() 尝试添加 app.run(debug=True) 就解决了。
Flask 服务器不知何故冻结了。对我来说,解决方案是在任务管理器中终止
pythonw.exe
进程。
对我来说,运行这三个命令解决了重新加载问题(Windows 机器):
$env:FLASK_APP = "main.py"
$env:FLASK_DEBUG = 1
flask run
我的问题是另一个应用程序(Proton Mail Bridge)正在侦听我的 Flask 应用程序所在的同一端口(5000),但是没有抛出错误。如果您使用的是 Windows,我会尝试在以管理员身份打开后在 CMD 中运行
netstat -ab
,看看是否有任何应用程序正在侦听您的 Flask 应用程序正在运行的同一端口。
4.5年后我知道了,但我之前找不到任何答案。
保存文件即可解决问题