17

私はWindowsとLinuxで100%互換性がなければならないアプリを開発しています。Linuxでは問題はありませんが、Windowsでは次のメッセージが表示されます。gi.repositoryからimport Gtk ImportError:giという名前のモジュールはありません

pygobject、pygtkallinone、gtkをインストールしました。何が足りませんか?

4

2 に答える 2

20

Havok の回答のほとんどは正しいですが、ドキュメントが最近大幅に改善されたことを除いて、チュートリアルがあります。

オフラインで読むための PDF バージョンを含む:

また、Gtk だけでなく、イントロスペクションで使用できる他の多くのライブラリの完全な API リファレンス マニュアル:

Windows ではサポートが充実しており、すべての Windows 実行可能ファイルとライブラリの作成に多くの労力が費やされています。pygi-aio の最後のリリースは 3.10.6 です。

また、pygobject イントロスペクションを使用して win32 でビルドする方法について、Gnome wiki に指示を出しました。それほど難しいことではありません。実際に動作する setup.py もアップロードしました。

答えは、PyGTK を使用しないことです。

于 2014-01-06T11:15:45.900 に答える
15

gi.repositoryモジュールはPyGObjectと呼ばれ、Gtk+3 用であり、Windows ではまだ利用できません (実験はありますが、AFAIK では準備ができていません)。https://live.gnome.org/PyGObject

gtkモジュールはPyGtkと呼ばれ、Gtk+2 用であり、Windows プラットフォーム (特に 2.24) で非常に成熟しています。http://www.pygtk.org/

違いは何ですか?

  • PyGObject には、Windows のサポートが不足しています。PyGtk は、この OS を強力にサポートしています。
  • PyGObject は動的バインディングと呼ばれるもので、PyGtk は静的バインディングです。
  • PyGObject は新しく、未来であり、PyGtk は過去であり、成熟しており、いつか廃止される予定です。
  • PyGObject のドキュメントと例は非常に限られており、PyGtk のドキュメントとサンプルは非常に完全です: http://developer.gnome.org/pygtk/stable/
  • これらには互換性がありません。両方を使用することはできず、どちらかを選択する必要があります。
  • PyGObject は活発に開発されており、PyGtk に新しい機能が導入される予定はありません。
  • Glade を使用する場合、最新バージョンは PyGObject 用になります (たとえば 3.12.1)。Glade for PyGtk を使用する場合は、3.8.0 バージョンをインストールしてください。

PyGtk を使用する場合は、アプリケーションをフリーズするための優れたサポートがあります。ここで私のアプリケーションのドキュメントとサポート ファイルを確認できます: http://sourceforge.net/p/nestededitor/code/247/tree/trunk/dist/windows/

それが役に立てば幸い。

編集:

2年間で多くのことが変わりました。巨大な答えを見てください。

于 2012-10-20T08:13:36.717 に答える