如何在VS Code远程SSH客户端中使用Python调试器并解决运行报错
问题根因与解决方案
你遇到的两个报错为因果关系:libffi.so.7是VS Code Python调试器的依赖库,缺失会导致调试进程启动失败,VS Code长时间收不到调试进程的连接响应,才会抛出超时错误。优先修复库缺失问题即可,绝大多数场景不需要修改launch.json参数。
1. 修复libffi.so.7缺失问题
以下操作均在远程Linux服务器上执行:
- 确认服务器发行版,对应安装依赖包:
- Debian/Ubuntu 系列:
sudo apt update && sudo apt install -y libffi7 - CentOS/RHEL 7 系列:
sudo yum install -y libffi - CentOS/RHEL 8/9、Fedora 系列:默认源无
libffi7,可先执行find /usr/lib* -name "libffi.so.*"查找系统已有的高版本libffi库,若查到libffi.so.8,执行软链接兼容即可:sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.8 /usr/lib/x86_64-linux-gnu/libffi.so.7(路径替换为你实际查到的库路径)
- Debian/Ubuntu 系列:
- 安装/配置完成后,执行
ldconfig -p | grep libffi.so.7,有输出即说明库已能被系统正常识别。
2. 验证调试功能
修复库问题后,执行以下操作:
- 关闭当前VS Code远程SSH连接,重新连接服务器
- 重新选定服务器端的Python解释器
- 直接启动调试,此时即可正常运行,无需修改
launch.json
3. 可选launch.json调整(仅上述步骤无效时操作)
如果修复后仍报连接超时,打开项目目录下.vscode/launch.json,添加/修改以下配置参数:
{ "version": "0.2.0", "configurations": [ { "name": "Python: 远程调试", "type": "python", "request": "launch", "program": "${file}", "python": "/替换为服务器上Python解释器的绝对路径", "justMyCode": true, "timeout": 30000, "env": { "LD_LIBRARY_PATH": "/usr/lib:/usr/local/lib" } } ] }
timeout字段将调试超时时间从默认10秒修改为30秒,适配服务器网络延迟场景env字段额外添加系统库搜索路径,避免依赖库找不到的问题
内容的提问来源于stack exchange,提问作者jf21
相关产品推荐
相关产品推荐

