Error “Could not find any typelib for Gtk” with Python3 and GTK3
我无法使Python3与GTK3一起使用。我处于集群环境中,并且从源头重新编译了所有内容。
当我运行一个简单的示例时:
1 2 3 4 5 6 | from gi.repository import Gtk win = Gtk.Window() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main() |
我遇到以下错误:
1 2 3 4 5 | ERROR:root:Could not find any typelib for Gtk Traceback (most recent call last): File"gtk3_example.py", line 2, in from gi.repository import Gtk ImportError: cannot import name 'Gtk' |
通常,您还需要安装其他软件包,具体取决于您要进行内省。我发现至关重要的一个是gir1.2-gtk-3.0(或2.0,具体取决于您针对哪个版本进行编码)。
问题是由于gobject-introspection中未引用的GTK3的编译版本。
通过在gobject-introspection
中列出
1 2 3 4 5 6 7 | $ which g-ir-scanner /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 |
应该通过使用配置选项
尝试使用以下代码:
1 2 3 | import gi gi.require_version("Gtk","3.0") from gi.repository import GTK |