导入错误: 没有名为gi.repository的模块 Mac OS X。

15

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

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

但是当我运行 virt-manager 时,我收到了以下错误信息。

from gi.repository import GObject
ImportError: No module named gi.repository
当我在Python命令行中运行这个导入时,我遇到了同样的错误。但是当我尝试import gtk时,没有错误发生。
我认为问题在于Homebrew的pygtk版本不使用gtk+3,而是使用gtk2,正如我们在这里看到的(gi.repository Windows),只有gtk+3才使用那个语法。
4个回答

27

gi 模块在 pygobject 软件包中,但如果您在 OS/X 上安装此软件包,则不会获取 gi 模块。 要在 OS/X 上真正安装 gi 模块,您需要安装 pygobject3 模块,尽管它看起来像是为 Python3 设计的,但实际上是基于 GTK 版本的。 因此,如果您使用的是 OS/X 系统,只需运行简单的 brew install pygobject3 命令即可搞定。


3
你好,我正在Mac OS X上安装RedNotebook。运行'run'脚本时,遇到了错误信息:“ERROR pygobject could not be imported: "No module named 'gi'"”。建议安装Python3-gi来解决问题。我已经执行了“brew install pygobject3”,但仍然出现相同的错误。我已经检查了'/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/'中安装的模块,但是找不到'gi'模块。请问这个建议仍然适用吗?还有其他的解决方法吗? - stackQA
@stackQA,你找到在Mac上安装RedNotebook的解决方案了吗? - Fed
@FedericoCapaldo 我没有找到在 Mac 上安装红笔记的解决方案。 - stackQA
看起来brew的python和site-packages出了点问题。我需要使用PYTHONPATH环境变量,就像这个评论中所描述的那样,然后import gi就可以工作了! - Jared Forsyth

4

-1
你是使用内置的Python还是Homebrew安装的Python到了/opt/python/?在终端中输入which python来查看。然后在Python中输入import sys; print sys.path

Python解释器路径为:/usr/local/bin/python,sys.path路径为:'/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/site-packages/... - MKT
@MKT,/usr/local/bin/ 是你的 Homebrew 路径吗?请查看此指南 https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python。我怀疑你是使用另一个 Python 安装了 libvirt 和 gtk。 - oz123
是的,那就是brew路径。 不,我使用brew python安装gtk。 - MKT
你能否将你执行的所有命令的完整列表发布在问题更新中? - oz123

-1

安装Python3的GTK3绑定可以使用以下命令:brew install pygobject3 --with-python3brew reinstall pygobject3 --with-python3


9
运行命令brew reinstall pygobject3 --with-python3会产生一个警告: Warning: pygobject3:该公式没有--with-python3选项,因此将被忽略! - asherbret
4
我尝试使用"brew reinstall pygobject3 --with-python3"命令,但出现错误:"invalid option: --with-python3"。 - Biranchi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接