3

当我在解释器中输入“from gi.repository import Gtk”时,我得到

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named gi.repository

这是我的酿造清单

at-spi2-atk freetype    gtk+        libffi      py2cairo
at-spi2-core    gdbm        gtk+3       libpng      pygobject
atk     gdk-pixbuf  harfbuzz    libtiff     pygtk
cairo       gettext     icu4c       pango       readline
d-bus       glib        intltool    pixman      sqlite
fontconfig  gstreamer   jpeg        pkg-config  xz

以及python中“print sys.path”的结果

['', '/Library/Python/2.7/site-packages/setuptools-1.1.5-py2.7.egg', '/Library/Python/2.7/site-packages/py2app-0.7.3-py2.7.egg', '/Library/Python/2.7/site-packages/macholib-1.5.1-py2.7.egg', '/Library/Python/2.7/site-packages/modulegraph-0.10.4-py2.7.egg', '/Library/Python/2.7/site-packages/altgraph-0.10.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages/gobject', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/Library/Python/2.7/site-packages', '/usr/local/lib/python2.7/site-packages/gtk-2.0']

我自制模块的站点包似乎在 python 路径中,所以我不知道我缺少什么。我正在使用我的 System/Library/Frameworks 目录中的 python 2.7.5(在 Mountain Lion 上)。我曾尝试酿造 python(2 和 3)来尝试解决这个问题,但安装停止,python 以 100% cpu 运行并且从未完成。

提前感谢您提供的任何建议。

4

1 回答 1

1

您需要将环境变量设置为目录GI_TYPELIB_PATH的路径,该路径girepository-1.0应包含.typelib您要使用的每个库的文件。我会想象

export GI_TYPELIB_PATH=/usr/local/lib/girepository-1.0

或者非常相似的东西可以在 Bash 中使用。

您还需要确保自省运行时可以定位共享库,如果还没有的话。这可以通过LD_LIBRARY_PATH适当地设置环境在 Linux 上完成,例如:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Apple 的文档建议LD_LIBRARY_PATH也应该在 Mac 上工作,但我还没有尝试过。

于 2013-10-04T08:29:36.837 回答