我使用的是Linux 2.6.24.16版。我相信它使用的是Puppy Linux 4.2。我实际上正在使用Puppy Arcade,这是一个专门的分支。他们的帮助文件提示它是4.2,但是。
我正在使用Python 2.6.4,我通过这里发布的小狗包安装了它:http://code.google.com/p/puppy-development/downloads/detail?name=Python%2B-2.6.4-i486.pet&can=2&q=
该软件包声称拥有pygtk,而且我没有问题告诉python import pygtk
但是,只要我尝试import gtk
,就会抛出以下错误:
>>> import gtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 38, in <module>
import gobject as _gobject
File "/usr/lib/python2.6/site-packages/gtk-2.0/gobject/__init__.py", line 26, in <module>
from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
File "/usr/lib/python2.6/site-packages/gtk-2.0/glib/__init__.py", line 22, in <module>
from glib._glib import *
ImportError: /usr/lib/python2.6/site-packages/gtk-2.0/glib/_glib.so: undefined symbol: g_assertion_message
我希望我能告诉你我正在使用的pygtk
版本,但似乎信息存储在我无法导入的gtk
内。
答案 0 :(得分:1)
看起来你试图使用的pygtk包是针对较新的glib(以及可能的gtk +)库编译的。只是从观察(我不是小狗用户)看起来你已经下载了4.3的pygtk包(可能有更新的运行时库)。