2013-10-03 19 views
3

當我輸入「從gi.repository進口的Gtk」到解釋我得到如何獲得蟒蛇識別/找到自制安裝gi.repository(PyGObjects)?

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

這裏是我的BREW名單

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 

和「打印的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'] 

我homebrewed模塊的站點包似乎是在python路徑,所以我不知道我失蹤了什麼。我正在使用我的系統/庫/框架目錄中的python 2.7.5(在Mountain Lion上)。我曾嘗試釀造蟒蛇(2,3),以試圖解決這一點,但在蟒100%的CPU運行,從未完成安裝攤位。

預先感謝您的任何意見。

回答

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上工作,但我還沒有嘗試過。

+0

謝謝你的答案。不幸的是,在OSX中似乎沒有girepository-1.0目錄。自從我轉而使用Qt之後,我非常感謝他們的幫助。 – Will03

+0

「釀造安裝pygobject3」將創造「/usr/local/lib/girepository-1.0」 – Anuj