Impor python gtk buatan sendiri menghasilkan kesalahan segmentasi

Saya mencoba membuat versi python saya yang sudah diseduh agar berfungsi dengan gtk yang sudah diseduh. Namun, saya mendapatkan kesalahan ini. Saya tidak dapat menemukan masalah yang menyebabkan masalah ini. Kesalahan ini terjadi setelah pygtk diinstal.

$ 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

Versi paket gtk dan pygtk yang diinstal adalah gtk+-2.24.20 dan pygtk: stable 2.24.0.

Daftar paket terinstal minuman saya adalah:

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

person nal21    schedule 07.09.2013    source sumber


Jawaban (2)


Masalah yang sama terjadi pada saya ketika saya mencoba meluncurkan aplikasi zim note. OS X memiliki python sendiri yang ditautkan ke/usr/bin/python dan brew link memiliki python yang dikompilasi di/usr/local/bin/python.

Dengan python Apple saya dapat meluncurkan aplikasi zim tetapi macet saat klik dua kali (ketuk dua jari).

Dengan python Brew saya tidak bisa meluncurkan Zim sama sekali. Dia akan menunjukkan kepada saya kesalahan yang sama:

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

Jadi setidaknya membuat tiket untuk membuat githab adalah ide bagus.

person ipeacocks    schedule 01.11.2014

Tampaknya kesalahan ini muncul ketika Anda menginstal beberapa lib gtk (pygtk). Misalnya satu dari brew repo dan satu lagi dari dmg atau semacamnya.

Jadi saya dapat menyarankan Anda untuk menghapus salah satunya, misalnya versi non-brew:

# rm -rf /opt/gtk

Dan kemudian coba impor gtk dengan python

person ipeacocks    schedule 11.02.2015