web-dev-qa-db-ja.com

gi.repository Windows

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

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

14
Yerko Antonio

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

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

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

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

また、pygobjectイントロスペクションを使用してwin32でビルドする方法について、Gnome wikiに説明を掲載しました。それほど難しくはありません。また、実際に機能するsetup.pyもアップロードしました。

だから答えは、PyGTKを使わないでください

19
gianmt

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年間で多くのことが変わりました。 gianmtの回答をご覧ください。

13
Havok