VSCode调试Flask应用时保存/重载出现[WinError 10038]错误
Flask调试重载时WinError 10038问题的解决办法
针对你遇到的Flask保存代码后重载抛出OSError: [WinError 10038]错误的问题,这里有几个可行的修复方案:
1. 调整VSCode调试配置,禁用子进程附加
打开项目中的.vscode/launch.json文件,在调试配置项中添加"subProcess": false:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Flask", "type": "python", "request": "launch", "module": "flask", "env": { "FLASK_APP": "app.py", "FLASK_DEBUG": "1" }, "args": [ "run" ], "subProcess": false // 添加此行配置 } ] }
该配置会阻止VSCode调试器附加到Werkzeug重载生成的子进程,避免socket资源被重复占用触发错误。
2. 替换Werkzeug默认重载器
Werkzeug默认重载器在Windows环境下可能与VSCode调试器存在冲突,可改用watchdog作为重载器:
- 先安装依赖包:
pip install watchdog
- 在
launch.json的env字段中添加重载器指定配置:
"env": { "FLASK_APP": "app.py", "FLASK_DEBUG": "1", "WERKZEUG_RELOADER_TYPE": "watchdog" }
3. 跳过VSCode调试器,直接命令行启动
如果上述配置无效,可尝试直接在命令行启动Flask调试,再用VSCode附加到进程:
- 在终端执行启动命令:
set FLASK_APP=app.py set FLASK_DEBUG=1 flask run
- 打开VSCode的「运行和调试」面板,选择「Python: 附加到进程」,找到对应的Flask进程完成附加。
4. 重置VSCode调试缓存
关闭VSCode,删除项目根目录.vscode文件夹中launch.json之外的配置文件(如settings.json或缓存文件),重新打开项目后重新配置调试参数。
内容的提问来源于stack exchange,提问作者Joe Platano
相关产品推荐
相关产品推荐

