【问题标题】:Gtk-Message: Failed to load moduleGtk-消息:无法加载模块
【发布时间】:2014-03-08 14:54:28
【问题描述】:

我使用 jhbuild 在我的 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

但我仍然得到错误。

还有这些:

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 引起的,但即使在更正它之后,也会显示相同的警告(尽管,现在我没有得到错误并得到正确的输出)

【问题讨论】:

标签: python linux gtk


【解决方案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()

您在实际代码中不小心省略了GtkWindow 之间的.,但在您发布的示例中修复了它。我建议仔细检查 intro.py 中的那一行,看看这是否能解决您的问题。

  • 注意:这与有关未能加载这 3 个模块的警告完全无关。

【讨论】:

  • @curiousguy13 你的系统是 32 位还是 64 位?
  • 我的操作系统是 64 位的(它是一个在 vmware 上运行的虚拟系统,虽然这无关紧要),但我尝试在 32 位和 64 位版本中安装覆盖滚动条和其他模块
【解决方案2】:

对我来说正确的答案是指定 GTK 模块的位置:只需在终端中写入

export GTK_PATH=/usr/lib/x86_64-linux-gnu/gtk-2.0

以及其他模块的类似推理。

【讨论】:

    【解决方案3】:

    尝试重新安装包,可能是安装时出错。

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 1970-01-01
      • 2020-08-26
      • 2023-02-24
      • 2014-03-17
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多