Gtk-消息:加载模块失败
我在我的Ubuntu 13.10上成功安装了gtk+(看起来是这样!),我是按照这个链接的步骤来做的:http://python-gtk-3-tutorial.readthedocs.org/en/latest/install.html
但是当我运行下面这个简单的程序时:
#!/usr/bin/python
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
我遇到了这个错误:
Gtk-Message: Failed to load module "overlay-scrollbar"
Gtk-Message: Failed to load module "unity-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
File "intro.py", line 4, in <module>
win=GtkWindow()
NameError: name 'GtkWindow' is not defined
我搜索了一下,发现了一些类似的问题:
https://askubuntu.com/questions/342202/failed-to-load-module-canberra-gtk-module-but-already-installed https://askubuntu.com/questions/208431/failed-to-load-module-canberra-gtk-module?rq=1
但我还是遇到了同样的错误。
还有这些问题:
在Linux上使用Eclipse + PyDev进行Python Gtk+开发,无法解析导入:Gtk PyCharm无法解析PyGObject 3.0,但代码运行正常
这些问题也没有给出解决办法。
我该怎么解决这个问题呢?
更新1:所以,显然这个错误是因为代码中用的是GtkWindow而不是Gtk.Window,但即使我改正了这个,依然显示相同的警告(不过现在我没有错误了,输出也正确了)
相关问题:
3 个回答
试着重新安装这个软件包,可能在安装的时候出现了错误。
对我来说,正确的做法是指定GTK模块的位置:只需在终端中输入
export GTK_PATH=/usr/lib/x86_64-linux-gnu/gtk-2.0
其他模块也是类似的道理。
根据你的错误追踪信息:
Traceback (most recent call last):
File "intro.py", line 4, in <module>
win=GtkWindow()
NameError: name 'GtkWindow' is not defined
在你代码的第4行,你写的是:
win = Gtk.Window()
但是错误信息显示你实际上写的是:
win=GtkWindow()
你在实际代码中不小心把Gtk和Window之间的.给漏掉了,而在你发的例子里却修正了这个错误。我建议你再检查一下intro.py中的那一行,看看这样是否能解决你的问题。
- 注意:这和加载那3个模块失败的警告没有任何关系。