自制的python gtk导入导致分段错误

时间:2013-09-07 18:59:38

标签: python gtk segmentation-fault pygtk homebrew

我正在努力让我的酿造版本的python与brewed gtk一起使用。但是,我收到此错误。我找不到导致此问题的问题。安装pygtk后会发生此错误。

$ python
Python 2.7.5 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import gtk
/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0/gio/__init__.py:23: Warning: g_str_has_prefix: assertion `str != NULL' failed
    from _gio import *
Segmentation fault: 11

安装的版本gtk和pygtk包是gtk + -2.24.20和pygtk:stable 2.24.0。

我的brew安装包列表是:

atk         gdk-pixbuf  jpeg        pango       pygobject
cairo       gettext     libffi      pcre        pygtk
cmake       glib        libpng      pixman      python
fontconfig  gtk+        libtiff     pkg-config  readline
freetype    harfbuzz    nginx       postgresql  sqlite
gdbm        icu4c       ossp-uuid   py2cairo    xz

2 个答案:

答案 0 :(得分:0)

当我尝试启动zim note app时,同样的问题。 OS X有自己的python链接到/ usr / bin / python和brew链接自己编译的python在/ usr / local / bin / python。

使用Apple的python,我可以启动zim应用程序,但双击时会崩溃(双指点击)。

使用Brew的python,我根本无法启动Zim。 Shell向我显示了同样的错误:

python /Users/md760/my_apps/zim-0.62/zim.py
/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0/gio/__init__.py:23: Warning: g_str_has_prefix: assertion `str != NULL' failed
  from _gio import *
Segmentation fault: 11

所以至少创建brew githab的门票是个好主意。

答案 1 :(得分:0)

当你安装了几个gtk(pygtk)libs时,似乎会出现这个错误。例如,一个来自brew repo,另一个来自任何dmg或类似。

所以我建议你删除其中一个,例如非酿造版本:

# rm -rf /opt/gtk

然后尝试在python中导入gtk