Windows 10系统下VS Code本地Python调试出现ConnectionRefusedError: [WinError 10061]问题求助
解决VS Code本地Python调试出现ConnectionRefusedError: [WinError 10061]的问题
看你遇到的情况——之前偶尔发作的本地调试连接拒绝错误,现在持续出现,配置没动过一周前还正常,这大概率是debugpy进程残留、端口冲突或者老版本插件的兼容性问题,给你几个按优先级排序的解决步骤:
1. 强制清理残留调试进程(最大概率解决)
很多时候是之前的调试进程没彻底退出,占着端口或者导致debugpy服务端无法正常启动:
- 按下
Ctrl+Shift+Esc打开任务管理器,找到所有带python.exe或debugpy关键字的进程,全部右键结束任务 - 完全关闭VS Code(不要最小化到托盘),重新打开后再尝试F5调试
2. 指定固定调试端口,避免自动分配冲突
自动分配的端口可能被临时进程占用,你可以给调试配置指定一个固定端口:
修改你的.vscode/launch.json,新增"port"字段:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File (Integrated Terminal)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "python": "C:\\Users\\andreas.luckert\\Projects\\project-venv\\Scripts\\python.exe", "redirectOutput": true, "justMyCode": false, "logToFile": true, "stopOnEntry": false, "port": 5678 // 新增固定端口,可用5679/5680等其他端口替代 } ] }
保存后,你可以用命令netstat -ano | findstr :5678检查该端口是否被占用,要是被占用就换个端口试试。
3. 更新或重装VS Code Python插件
你当前用的插件版本是2021.8.1105858891,这是非常老旧的版本了,和pyenv-win管理的Python 3.8.9很可能存在兼容性问题:
- 打开VS Code扩展面板,找到Python插件,点击「更新」按钮(如果显示更新)
- 要是更新后还是不行,直接卸载插件,重新安装最新版本,再重启VS Code
4. 修复虚拟环境的debugpy依赖
虚拟环境可能出现依赖损坏,导致debugpy无法正常启动服务端:
- 打开VS Code终端,运行
C:\Users\andreas.luckert\Projects\project-venv\Scripts\activate.bat激活虚拟环境 - 执行
pip install --upgrade debugpy重新安装并更新debugpy - 退出虚拟环境,重启VS Code后再尝试调试
5. 临时排查防火墙干扰(谨慎操作)
虽然本地连接被防火墙拦截看似不合理,但Windows Defender防火墙的自动规则偶尔会出问题:
- 临时关闭防火墙:打开「设置→更新和安全→Windows安全中心→防火墙和网络保护」,选择当前使用的网络,关闭防火墙
- 要是调试恢复正常,就给VS Code和虚拟环境的Python添加防火墙允许规则:
打开防火墙「高级设置」,分别添加入站、出站规则,允许code.exe和C:\Users\andreas.luckert\Projects\project-venv\Scripts\python.exe通过防火墙
6. 重置VS Code调试缓存
如果以上都没用,可能是VS Code的 workspace 缓存出了问题:
- 关闭VS Code,删除
C:\Users\username\.vscode\extensions\ms-python.python-2021.8.1105858891这个旧插件文件夹 - 同时删除
C:\Users\username\.vscode\user-data\workspaceStorage中对应你项目的文件夹 - 重启VS Code,重新配置调试环境
我之前遇到过几乎一模一样的问题,清理残留进程+更新插件就搞定了,你按顺序试下来应该能解决。
内容的提问来源于stack exchange,提问作者Andreas L.
相关产品推荐
相关产品推荐

