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 のコンパイル済みバージョンが原因です。

.typelibgobject-introspectionにファイルを一覧表示することで問題を簡単に確認できます

    $ 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

この問題は、configure オプションを使用して GTK (およびその依存関係) を再コンパイルすることで解決する必要があります--enable-introspection=yes

于 2014-07-30T12:36:54.607 に答える