gpt4 book ai didi

python - 如何在 VS Code 中调试 Flask 应用程序

转载 作者:行者123 更新时间:2023-12-01 19:55:08 25 4
gpt4 key购买 nike

我一直在尝试让调试器在 VS Code 中工作,以便我可以调试我的 Flask 应用程序。我在 launch.json 中尝试了很多选项,以至于我觉得没有任何剩余了。

以下示例不起作用:https://github.com/DonJayamanne/pythonVSCode/wiki/Debugging:-Flask

Debug Flask(Python) web application in Visual studio code

下面是我的 launch.jsonsetting.json。当我尝试多种变体时,我在启动文件中有两种配置。

launch.json

"version": "0.2.0",
"configurations": [
{
"name": "Flask",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
//"module": "flask.cli",
"program": "${workspaceRoot}/startup.py",
"cwd": "${workspaceRoot}",
"env": {
"FLASK_APP": "${workspaceRoot}/apt-flask.py",
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
},
{
"name": "Python: APT FLask",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${workspaceFolder}/venv/Scripts/python.exe",
//"program": "${workspaceFolder}/venv/Scripts/flask.exe",
"module": "flask.cli",
"cwd": "${workspaceFolder}",
"env": {
"FLASK_APP": "${workspaceFolder}/apt-flask.py",
"DEBUG": 1,
"LC_ALL": "en_US.utf-8",
"LANG": "en_US.utf-8"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"envFile": "${workspaceFolder}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
]

settings.json

{
"python.pythonPath": "${workspaceRoot}/venv/Scripts/python.exe"
}

就错误而言,我在控制台中没有收到任何错误,只有编辑器中的错误告诉我“调试适配器进程已意外终止”。

我不知道还能尝试什么。我目前使用 Pycharm,但正在寻找一个更轻量级的编辑器,并且当我使用 VS Code 来做其他事情时,改变它是有意义的,所以最终让它工作会很高兴。

任何帮助都会很棒。

最佳答案

截至 2019 年 11 月,我发现以下内容有用:

新方式(基本和不稳定)-“旧方式”下面更好

假设有一个简单的 app.py,例如:

import flask
app = flask.Flask(__name__)
@app.route('/')
def index():
return "Hello world!"

并且通过从“调试资源管理器”下拉列表中添加“Python Flask 调试配置”将 .vscode/launch.json 添加到您的项目中。

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development",
"FLASK_DEBUG": "1"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"jinja": true
}
]
}

Flask 应用程序可以通过 VS Code 调试器 [F5] 以“新方式”有效运行。

python -m flask run

老方法(更好)

Miguel 建议在 VS Code 调试器中以旧方式运行应用并使用附加标志效果更好。

将以下内容添加到 app.py(从上面):

if __name__ == '__main__':
app.run(use_debugger=False, use_reloader=False, passthrough_errors=True)

修改 .vscode/launch.json 如下所示:

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "app",
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development",
"FLASK_DEBUG": "1"
},
"args": [
// "run",
// "--no-debugger",
// "--no-reload"
],
"jinja": true
}
]
}

因此,Flask 应用程序实际上是通过 VS Code 调试器 [F5] 以“旧方式”运行。

python app.py

关于python - 如何在 VS Code 中调试 Flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com