gi.repository Windows

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

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

Havok的答案大部分是正确的,除了文档最近有很大的改进之外,还有一个教程:

包括PDF版本的离线阅读:

以及一个完整的API参考手册,不仅Gtk,而且还有许多其他库,你可以使用自省:

在Windows上的支持是伟大的,已经在创建所有的Windows可执行文件和库的努力,pygi-aio的最后一个版本是3.10.6:

我还在Gnome wiki上提供了关于如何使用pygobject自省来构建win32的说明,这并不难,我也上传了一个setup.py,

所以答案是,不要用PyGTK去

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的PyGtk安装3.8.0版本。

如果你选择使用PyGtk,那么对于冻结应用程序是非常有帮助的。 你可以在这里查看我的应用程序的文档和支持文件: http : //sourceforge.net/p/nestededitor/code/247/tree/trunk/dist/windows/

希望能帮助到你。

编辑:

两年来很多事情都发生了变化。 请参阅gianmt的答案。