RangerKnight 2022-12-12 12:13 采纳率: 80%
浏览 81
已结题

Ubuntu服务器下gdb发生python相关错误【Fatal Python error:……】

问题描述:

在Ubuntu20.04服务器上安装gdb,本地Clion调用服务器远程gdb进行远程开发时机器检测不到gdb。在服务器上测试gdb时发生下述报错。

环境

服务器:Ubuntu20
python环境:使用pyenv安装的python3.9.0,已设置为全局版本,能正常使用。pyenv安装在如下路径:/usr/local/.pyenv
gdb

报错详情:

root@hecs:/usr/lib# gdb --help
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = '/usr/bin/python'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = '/usr/bin/python'
  sys.base_prefix = '/usr'
  sys.base_exec_prefix = '/usr'
  sys.executable = '/usr/bin/python'
  sys.prefix = '/usr'
  sys.exec_prefix = '/usr'
  sys.path = [
    '/usr/lib/python38.zip',
    '/usr/lib/python3.8',
    '/usr/lib/lib-dynload',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007f131c880600 (most recent call first):
<no Python frame>

请求各位解答!

gdb无法调用,现在本地Clion就无法调试代码(开始是好的,不知怎么滴就出问题了,呜~~),希望得到各位的帮助!

  • 写回答

2条回答 默认 最新

  • RangerKnight 2022-12-13 11:18
    关注

    上述问题的原因,从stack上找到了问题所在,只是我未能成功解决,也许因为来回修改环境已经乱了,删也删不干净,最后只能重装系统再装一次gdb这些就好了。

    问题的大概原因就是,这种问题多出现在系统拥有多个python版本情况下,而我使用pyenv安装了多个版本,虽然通过pyenv global 设置了全局python版本,其他情况下python可以正常使用我设定的版本,但偏偏gdb会在python库路径的识别上出错,无法识别到准确的当前python版本对应的库,至少我再通过设置PYTHONHOME和PYTHONPATH两个路径无法解决该问题。stack上的评论说在卸载python、gdb并重新安装后能解决该问题,但可能由于配置文件卸载不干净,python无论是再装3.8还是3.9,gdb报错的sys.path始终是python38无法清理感觉。可以尝试通过彻底卸载并重新安装或者更改软链接地址来解决。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 已采纳回答 12月13日
  • 创建了问题 12月12日

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示