修复GNOME终端Python导入错误 | AI生成和翻译

Home 2025.10

问题诊断

您的 GNOME 终端启动失败,原因是 GObject Introspection (GI) 库中的 Python 导入错误。回溯信息显示问题出现在 from gi.repository import GLib, Gio 这一行,具体是在 /usr/lib/python3/dist-packages/gi/__init__.py 的第 40 行。完整错误(基于常见报告)很可能是:

ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import)

这通常是由于系统 Python 版本与 GI 绑定(python3-gi 包)不匹配造成的,常见于手动升级 Python、使用虚拟环境或软件包损坏后。您在 journalctl 输出中看到的 UFW BLOCK 日志与此问题无关——它们只是防火墙在丢弃无害的多播流量(例如来自 192.168.1.x 网段其他设备的 mDNS/UPnP 发现)。请暂时忽略这些记录。

可尝试的快速修复

既然您已经有一个可用的 shell 提示符(看起来您在 ~/projects 目录中),可以直接运行以下命令。从最简单的开始:

  1. 重新安装 GI 包和 GNOME 终端(最常见的修复方法):
    sudo apt update
    sudo apt install --reinstall python3-gi gir1.2-glib-2.0 gnome-terminal
    

    然后从当前 shell 运行 gnome-terminal 进行测试。

  2. 如果上述方法无效,检查/修复 Python 符号链接(如果您最近调整过 Python 版本):
    • 验证系统 Python:ls -l /usr/bin/python3(应指向类似 python3.10 或 3.12 的版本,具体取决于您的发行版版本)。
    • 如果链接损坏,重新安装默认 Python:
      sudo apt install --reinstall python3-minimal
      
    • 或手动设置符号链接(将 3.10 替换为您的发行版默认版本):
      sudo ln -sf /usr/bin/python3.10 /usr/bin/python3
      
  3. 完全重置 GNOME(如果上述方法失败——会重置终端首选项但不会删除数据):
    dconf reset -f /org/gnome/terminal/
    gnome-terminal --reset-config
    
  4. 终极方案:彻底卸载并重新安装 GNOME 终端
    sudo apt purge gnome-terminal
    sudo apt install gnome-terminal
    

完成任何修复后,请注销/登录或重启系统,以确保桌面环境能够正确识别更改。如果您使用的是基于 Ubuntu/Debian 的系统(根据路径判断),这些命令应该有效。如果是其他发行版(例如 Fedora),请将 apt 替换为 dnf

如果以上方法均未解决问题,请在当前 shell 中运行 python3 -c "from gi.repository import GLib; print('OK')" 并分享输出结果以便进一步分析。

参考资料


Back

x-ai/grok-4-fast:free

Donate