vscode 2022 年后已移除 python 2.7 调试支持,必须降级 python 扩展至 v2021.12.1559732655 版本,并手动指定完整解释器路径(如 /usr/bin/python2.7 或 c:\python27\python.exe),否则 f5 调试会闪退、无日志、无断点响应。

能运行,但调试支持在 VSCode 2022 年后被官方移除;必须降级 Python 扩展 + 手动指定解释器路径,否则 F5 会闪退、无日志、无断点响应。
VSCode 选对 Python 2.7 解释器路径是前提
VSCode 不读系统 PATH,也不继承终端激活的环境。即使 which python2.7 输出正确,VSCode 仍可能默认用 python 或 python3。
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入Python: Select Interpreter - 从列表中选带完整路径的项,例如:
/usr/bin/python2.7(Linux/macOS)、C:\Python27\python.exe(Windows) - 绝不能选 “Python 2.7 (Global)” 这类模糊描述——它不保证指向你装的那个版本
- 选完立刻看窗口左下角:显示的必须是具体路径,比如
/usr/bin/python2.7,而不是仅 “Python 2.7”
调试 Python 2.7 必须回退 Python 扩展版本
微软在 v2022.1.1 及之后版本彻底移除了对 Python 2.7 的调试协议支持。继续用新扩展,F5 启动后进程立即退出,终端无报错,launch.json 配置再正确也无效。
- 打开 VSCode 扩展面板(
Ctrl+Shift+X),搜 “Python”,点击右侧三个点 →Install Another Version… - 选择
v2021.12.1559732655(这是最后一个稳定支持 Python 2.7 调试的版本) - 卸载当前 Python 扩展后再安装该旧版,重启 VSCode
- 确认状态栏左下角 Python 版本标识已生效,再试
F5
远程调试 Python 2.7 需额外装 debugpy 且注意兼容性
本地 VSCode 调试靠扩展内置逻辑,远程调试则依赖 debugpy 在目标机器上监听。但 Python 2.7 对应的 debugpy 版本很老,新版 debugpy 已不兼容。
- 在远程服务器上执行:
pip2 install debugpy==1.1.0(1.2.0+开始弃用 Python 2.7 支持) - 启动服务时加
--log-to-stderr参数,方便排查连接失败原因 - 本地
launch.json中port和host必须与远程debugpy启动参数一致,例如:python -m debugpy --listen 0.0.0.0:5678 --wait-for-client your_script.py - 防火墙、SELinux(如 Rocky 8)可能拦截端口,
firewall-cmd --add-port=5678/tcp --permanent需提前配置
Python 2.7 的 debugpy 没有现代调试器的变量自动展开、异步堆栈等能力,断点命中后只能靠 print 辅助验证作用域;别指望它能像 Python 3.8+ 那样支持 breakpoint() 或条件断点语法。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











