Ubuntu 22.04下arm-none-eabi-gdb Python致命错误配置求助
解决方案
核心问题分析
错误显示arm-none-eabi-gdb正在调用虚拟环境/usr/local/bld-tools/bld-tools-virtual-env/bin/python,但该虚拟环境依赖的Python路径(/usr/lib/python3.8)与你当前安装的Python 3.11.4不匹配,导致编码模块找不到。
PYTHONHOME和PYTHONPATH设置
PYTHONHOME:设为系统Python 3.11的安装前缀,Ubuntu 22.04下默认是
/usr
临时生效命令:export PYTHONHOME=/usr永久生效可添加到
~/.bashrc或~/.zshrc末尾,执行source ~/.bashrc生效。PYTHONPATH:无需额外自定义设置,让系统自动加载默认路径即可。如果必须设置,可指定Python 3.11的核心库和第三方包路径:
export PYTHONPATH="/usr/lib/python3.11:/usr/local/lib/python3.11/dist-packages"
关键修复步骤
退出虚拟环境
如果你当前处于虚拟环境中,先执行:deactivate再重新启动
arm-none-eabi-gdb测试。重建损坏的虚拟环境
若必须使用该虚拟环境,需基于Python 3.11重新创建:# 删除旧虚拟环境 rm -rf /usr/local/bld-tools/bld-tools-virtual-env # 基于Python3.11创建新虚拟环境 python3.11 -m venv /usr/local/bld-tools/bld-tools-virtual-env # 激活新环境 source /usr/local/bld-tools/bld-tools-virtual-env/bin/activate激活后再启动
arm-none-eabi-gdb。验证gdb的Python依赖
检查arm-none-eabi-gdb是否支持Python 3.11:arm-none-eabi-gdb --version若版本过旧不支持3.11,需升级
arm-none-eabi-gdb到兼容版本。检查gdb配置文件
查看~/.gdbinit或系统级/etc/gdb/gdbinit,确认没有硬编码指向旧Python版本的路径,如有需删除或修改。
内容的提问来源于stack exchange,提问作者Dustin Lim
相关产品推荐
相关产品推荐

