gi.repository Windows

Yer*_*nio 13 python windows gtk pygobject

我正在开发一个必须在Windows和Linux上100%兼容的应用程序.在linux上我没有问题,但在Windows上我想出了这个消息:来自gi.repository import Gtk ImportError:没有名为gi的模块

我安装了pygobject,pygtkallinone,gtk ..我错过了什么?

gia*_*nmt 19

Havok的大多数答案是正确的,除了文档最近已经改进了很多,使用教程:

包括用于离线阅读的PDF版本:

还有一本完整的API参考手册,不仅包括Gtk,还包括许多其他可以用于内省的库:

在Windows上支持很棒,在创建所有Windows可执行文件和库时付出了很多努力,pygi-aio的最后一个版本是3.10.6:

我还在Gnome wiki上讲了如何使用pygobject内省构建win32,这并不难,我还上传了一个实际工作的setup.py:

所以答案是,不要和PyGTK一起去

  • 很好的回答,谢谢.很高兴知道这些年来很多事情都有所改善. (2认同)

Hav*_*vok 13

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对这个操作系统有很大的支持.
  • 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/

希望能帮助到你.

编辑:

许多事情在两年内发生了变化.请看gianmt的答案.