【问题标题】:How to get python to recognize/find homebrew installed gi.repository (PyGObjects)?如何让 python 识别/查找安装的自制软件 gi.repository (PyGObjects)?
【发布时间】:2013-10-10 00:29:35
【问题描述】:

当我在解释器中输入“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中“打印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 上)。我已经尝试过 brewing python(2 和 3)来尝试解决这个问题,但是 python 在 100% cpu 上运行并且永远不会完成。

提前感谢您的任何建议。

【问题讨论】:

    标签: python osx-mountain-lion homebrew gtk3 pygobject


    【解决方案1】:

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

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

    或者非常相似的东西可以在 Bash 中工作。

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

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

    Apple's documentation 建议 LD_LIBRARY_PATH 也应该在 Mac 上工作,但我还没有尝试过。

    【讨论】:

    • 感谢您的回答。不幸的是,OSX 中似乎没有 girepository-1.0 目录。我已经切换到 Qt,但我非常感谢您的帮助。
    • "brew install pygobject3" 将创建 "/usr/local/lib/girepository-1.0"
    • @Tristan Brindle,我有“/usr/local/lib/girepository-1.0”目录,但是两个导出命令对我没有帮助。请在这里查看我的问题:stackoverflow.com/questions/54515203/…
    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 2011-04-13
    • 2015-02-03
    • 1970-01-01
    • 2021-11-19
    相关资源
    最近更新 更多