一直在编写一些代码,在调试模式下使用flask来测试html等,这在http://127.0.0.1:5000上运行良好。但我在 Python 代码中遇到了问题,仅通过打印某些变量的值的语句无法解决这个问题。我真的需要能够逐行调试 python 代码。
在 VScode 中尝试了一些配置更改,但没有运行调试,但更糟糕的是,“正常”flask 调试模式不再声明端口。
通常在 VScode 中启动 app.py 后,我会看到 Flask 启动并表示它现在可以在 http://127.0.0.1:5000 上使用,并且在“端口”窗口中,我看到端口 5000 正在使用中。但它不再这样做了。
我更改了 python - Flask 调试器“launcher.json”中的某些内容,但不确定原始配置是什么。我曾经用 chrome 检查网页,但现在给我一个错误:
Access to 127.0.0.1 was denied You don't have authorisation to view this page. HTTP ERROR 403
,即使在尝试隐身模式时也是如此。 Firefox 只显示一个空白页面。
app.py:
<snip some imports>
@app.route("/")
def index():
return render_template("index.html")
if __name__ == "__main__":
app.run(debug=True)
也尝试过
app.run(host="127.0.0.1",port=5000,debug=True)
app.run(host="0.0.0.0",port=5000,debug=True)
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Flask",
"type": "debugpy",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py",
"FLASK_DEBUG": "1"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"jinja": true,
"autoStartBrowser": false
},
{
"name": "Python Debugger: Python File",
"type": "debugpy",
"request": "launch",
"program": "${file}"
}
]
}
应用程序启动时,终端窗口显示:
修复的是 VScode 中的“端口”部分已被以某种方式删除,并且可能在故障排除尝试中我从未获得正确的设置组合。但最终设置:
if __name__ == "__main__":
app.run(debug=True, port="5000")
并在 vscode 的“端口”部分配置端口 5000,成功了