【问题标题】:ImportError: No module named gi.repository Mac OS XImportError:没有名为 gi.repository Mac OS X 的模块
【发布时间】:2013-08-08 06:50:01
【问题描述】:

我正在 Mac OS X 上安装 virt-manager0.10.0

首先我用 homebrew 安装了 python、libvirt、gtk+3、pygtk 和其他依赖项

但是当我运行 virt-manager 时出现了这个错误

from gi.repository import GObject
ImportError: No module named gi.repository

当我在 python 命令行中运行这个导入时,我得到了同样的错误。但是当我尝试import gtk时没有错误

我认为问题在于自制的 pygtk 版本不使用 gtk+3 并使用 gtk2,正如我们在这里看到的 gi.repository Windows 只有 gtk+3 使用该语法。

【问题讨论】:

    标签: python gtk pygtk homebrew


    【解决方案1】:

    gi 模块位于 pygobject 包中,但如果您在 OS/X 上安装此包,您将无法获得 gi 模块。 要在 OS/X 上真正安装gi,您需要安装pygobject3 模块,它可能看起来像是用于Python3 但实际上并非如此,3 来自 GTK 版本。 因此,如果您使用的是 OS/X,简单的 brew install pygobject3 就可以解决问题。

    【讨论】:

    • 嗨,我正在 os x 上构建 rednotebook。当我运行“运行”脚本时,我得到“无法导入错误 pygobject:“没有名为 'gi' 的模块”。请安装它(python3-gi)。我已经执行了'brew install pygobject3',但是我仍然得到同样的错误。我检查了哪些模块安装在“/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/”中。我无法设置 gi 模块。建议是否仍然有效?关于如何继续的任何其他想法?
    • @stackQA 你有没有找到在 mac 上安装 rednotebook 的解决方案?
    • @FedericoCapaldo 我没有找到在 Mac 上安装 rednotebook 的解决方案。
    【解决方案2】:

    pyGTK 仅适用于 GTK 2。如果你想要 GTK 3 的 python 绑定,你需要安装 pyGObject。见https://stackoverflow.com/a/9672426/518853

    【讨论】:

      【解决方案3】:

      你使用的是内置的 Python 还是 home brew 安装到 /opt/python/ 的那个?在您的任期内发出which python。然后在 python 问题import sys; print sys.path.

      【讨论】:

      • which python : /usr/local/bin/python 和 sys.path :'/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/site-包/...
      • @MKT,/usr/local/bin/ 是您的家庭酿造路径吗?查看本指南github.com/mxcl/homebrew/wiki/Homebrew-and-Python。我怀疑你使用另一个 python 安装了 libvirt 和 gtk。
      • 是的,这就是酿造路径。不,我使用 brew python 安装 gtk。
      • 您能否发布完整的命令列表以更新您的问题?
      【解决方案4】:

      GTK3 的 python3 绑定可以使用brew install pygobject3 --with-python3 或brew reinstall pygobject3 --with-python3 安装

      【讨论】:

      • 运行 brew reinstall pygobject3 --with-python3 会产生警告:Warning: pygobject3: this formula has no --with-python3 option so it will be ignored!
      • 我尝试使用 brew reinstall pygobject3 --with-python3 并得到错误:无效选项:--with-python3
      猜你喜欢
      • 2014-06-26
      • 1970-01-01
      • 2016-11-29
      • 2014-09-18
      • 1970-01-01
      • 2015-02-09
      • 2010-12-10
      • 1970-01-01
      • 2017-10-20
      相关资源
      最近更新 更多