You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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作为重载器:

  1. 先安装依赖包:
pip install watchdog
  1. 在launch.json的env字段中添加重载器指定配置:
"env": {
    "FLASK_APP": "app.py",
    "FLASK_DEBUG": "1",
    "WERKZEUG_RELOADER_TYPE": "watchdog"
}

3. 跳过VSCode调试器,直接命令行启动

如果上述配置无效,可尝试直接在命令行启动Flask调试,再用VSCode附加到进程:

  1. 在终端执行启动命令:
set FLASK_APP=app.py
set FLASK_DEBUG=1
flask run
  1. 打开VSCode的「运行和调试」面板,选择「Python: 附加到进程」,找到对应的Flask进程完成附加。

4. 重置VSCode调试缓存

关闭VSCode,删除项目根目录.vscode文件夹中launch.json之外的配置文件(如settings.json或缓存文件),重新打开项目后重新配置调试参数。


内容的提问来源于stack exchange,提问作者Joe Platano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:25:20