4

我不能让 Python3 与 GTK3 一起工作。我在集群环境中,我从源代码重新编译了所有内容。

当我运行一个简单的示例时:

from gi.repository import Gtk

win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

我有以下错误:

    错误:root:找不到 Gtk 的任何类型库
    回溯(最近一次通话最后):
      文件“gtk3_example.py”,第 2 行,在
        从 gi.repository 导入 Gtk
    ImportError:无法导入名称“Gtk”
4

3 回答 3

3

根据您要自省的内容,通常需要安装其他软件包。我发现至关重要的是 gir1.2-gtk-3.0(或 2.0,具体取决于您编码的版本)。

于 2016-04-30T22:01:26.063 回答
2

问题是由于 gobject-introspection 中未引用 GTK3 的编译版本。

.typelib通过列出gobject-introspection 中的文件来检查问题很简单

    $ 哪个 g-ir 扫描仪
    /Produits/publics/x86_64.Linux.RH6/gobject-introspection/1.40.0/bin/g-ir-scanner

    $ ls /Produits/publics/x86_64.Linux.RH6/gobject-introspection/1.40.0/lib/girepository-1.0/
    cairo-1.0.typelib fontconfig-2.0.typelib GIRepository-2.0.typelib GModule-2.0.typelib win32-1.0.typelib xlib-2.0.typelib
    DBus-1.0.typelib freetype2-2.0.typelib GL-1.0.typelib GObject-2.0.typelib xfixes-4.0.typelib xrandr-1.3.typelib
    DBusGLib-1.0.typelib Gio-2.0.typelib GLib-2.0.typelib libxml2-2.0.typelib xft-2.0.typelib

应该通过使用 configure 选项重新编译 GTK(及其依赖项)来解决该问题--enable-introspection=yes

于 2014-07-30T12:36:54.607 回答
-1

尝试使用以下代码:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import GTK
于 2018-07-18T04:32:53.733 回答