การนำเข้า python gtk แบบ Homebrewed ส่งผลให้เกิดข้อผิดพลาดในการแบ่งส่วน

ฉันกำลังพยายามทำให้ 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

รายการแพ็คเกจที่ติดตั้งชงของฉันคือ:

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 แหล่งที่มา


คำตอบ (2)


ปัญหาเดียวกันสำหรับฉันเมื่อฉันพยายามเปิดแอป zim note OS X มี python ของตัวเองซึ่งเชื่อมโยงกับ /usr/bin/python และ brew link python ที่คอมไพล์แล้วของตัวเองใน /usr/local/bin/python

ด้วย Python ของ Apple ฉันสามารถเปิดแอป zim ได้ แต่มันขัดข้องเมื่อดับเบิลคลิก (แตะสองนิ้ว)

ด้วย Python ของ Brew ฉันจึงไม่สามารถเปิด Zim ได้เลย เชลล์แสดงข้อผิดพลาดเดียวกันให้ฉัน:

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

อย่างน้อยที่สุดการสร้างตั๋วเพื่อชง Githab ก็เป็นความคิดที่ดี

person ipeacocks    schedule 01.11.2014

ดูเหมือนว่าข้อผิดพลาดนี้อาจปรากฏขึ้นเมื่อคุณติดตั้ง gtk (pygtk) libs เพียงไม่กี่ตัว ตัวอย่างเช่นอันหนึ่งจาก brew repo และอีกอันจาก dmg ใด ๆ หรือแบบนั้น

ดังนั้น ฉันขอแนะนำให้คุณลบหนึ่งในนั้นออก เช่น เวอร์ชันที่ไม่ใช่เบียร์:

# rm -rf /opt/gtk

จากนั้นลองนำเข้า gtk ใน python

person ipeacocks    schedule 11.02.2015