gi.repository Windows

时间:2012-10-19 19:27:59

标签: python windows gtk pygobject

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

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

2 个答案:

答案 0 :(得分:19)

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

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

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

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

我还在Gnome wiki上给出了关于如何使用pygobject内省构建win32的指令,这并不难,我还上传了一个实际有效的setup.py:

所以答案是,不要使用PyGTK

答案 1 :(得分: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答案。