You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下安装PyGObject失败、构建wheel及导入Gtk报错求助

问题描述
  • 在MacOS系统中先后通过pip、brew两种方式安装PyGObject,参照官方操作指南执行后始终安装失败。
  • 已成功安装gtk+3,但执行库导入测试命令时直接报错,测试命令与报错片段如下:
python3 -c 'import gi; gi.require_version("Gtk", "3.0"); print("ok")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  • 执行pip3 install gobject pygobject命令安装时,构建PyGObject的wheel包失败,核心报错为cairo相关符号缺失,关键错误信息如下:
ImportError: dlopen(/private/var/folders/t0/_kkpxc35687gknp4d99b9lbr0000gn/T/pip-build-env-8drx7d57/overlay/lib/python3.6/site-packages/cairo/_cairo.cpython-36m-darwin.so, 0x0002): symbol not found in flat namespace '_cairo_append_path'
ERROR: Failed building wheel for pygobject
ERROR: Could not build wheels for pygobject, which is required to install pyproject.toml-based projects
可行解决方案

报错核心原因是环境混装:你现在用的是单独安装的Python 3.6加conda base环境,pip安装pycairo时拉取的预编译包和brew安装的cairo原生动态库不匹配,找不到对应函数符号才会编译失败。按以下步骤操作即可修复:

  • 先清理所有之前安装的冲突包,避免残留文件干扰:
pip3 uninstall -y gobject pygobject pycairo
brew uninstall --ignore-dependencies cairo py3cairo pygobject3 gtk+3

注意:PyPI上名为gobject的包是过时废弃项目,和正式的PyGObject不是同一个东西,后续不要安装这个包,否则会出现导入冲突

  • 统一通过Homebrew安装所有原生依赖和对应Python绑定,不要单独用pip编译安装PyGObject相关组件:
brew install cairo gtk+3 pygobject3 py3cairo
  • 将brew安装的Python包路径加入当前环境的Python搜索路径,解决找不到包的问题。从终端提示符判断你当前使用zsh + conda base环境,执行以下命令永久配置:
    • Intel芯片Mac执行:
    echo "export PYTHONPATH=/usr/local/lib/python3/site-packages:$PYTHONPATH" >> ~/.zshrc
    source ~/.zshrc
    
    • M系列(Apple Silicon)芯片Mac执行:
    echo "export PYTHONPATH=/opt/homebrew/lib/python3/site-packages:$PYTHONPATH" >> ~/.zshrc
    source ~/.zshrc
    

如果执行后仍找不到gi模块,可以通过brew --prefix命令查询brew的实际安装路径,对应调整上面的PYTHONPATH值即可

  • 执行之前的测试命令验证安装:
python3 -c 'import gi; gi.require_version("Gtk", "3.0"); print("ok")'

命令输出ok即代表安装成功。

内容的提问来源于stack exchange,提问作者Khalil Mebarkia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:57:22