我在我的Ubuntu 13.10上成功(显然!)使用jhbuild在此链接上安装了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
但我仍然得到错误。
和这些:
Python Gtk+ development in Linux using Eclipse + PyDev, Unresolved import: Gtk PyCharm can not resolve PyGObject 3.0, but code runs fine
没有真正给出解决方案。
我该如何解决这个问题?
更新1:所以,显然错误是由于代码中的GtkWindow而不是Gtk.Window,但即使在纠正之后,也会显示相同的警告(尽管现在我没有得到错误并得到正确的输出)
答案 0 :(得分:1)
根据你的追溯:
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 中的那一行,看看这是否能解决您的问题。
答案 1 :(得分:-1)
尝试重新安装软件包,安装时可能会出错。