【问题标题】:gi.repository Windowsgi.repository 窗口
【发布时间】:2012-10-10 11:23:27
【问题描述】:

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

我安装了 pygobject、pygtkallinone、gtk.. 我缺少什么?

【问题讨论】:

  • 天啊,这很快,而且奏效了!!谢谢:D
  • gi 用于 PyGObject,即 GTK+3,每个模块都大写。当您使用 import gtk 时,您正在使用 PyGTK (GTK+2)。

标签: python windows gtk pygobject


【解决方案1】:

Havok 的大部分答案都是正确的,除了文档最近有了很大改进,附有教程:

包括离线阅读的PDF版本:

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

在 windows 上支持很好,在创建所有 windows 可执行文件和库方面付出了很多努力,pygi-aio 的最新版本是 3.10.6:

我还在 Gnome wiki 上发布了关于如何使用 pygobject introspection 在 win32 上构建的说明,这并不难,我还上传了一个实际工作的 setup.py:

所以答案是,不要使用 PyGTK

【讨论】:

  • 很好的答案,谢谢。很高兴知道这些年来许多事情都得到了改善。
  • 很好的答案。 pygi-aio 的版本甚至在一天前就涨到了 3.14。
  • http://sourceforge.net/projects/pygobjectwin32/files/?source=navbar 提供的文件根本不起作用。安装程序复制东西,但使用from gi.repository import Gtk时python无法加载任何库。
  • 显然 Python 3.5 还不支持,因为我们可以在 readme.txt 中阅读:PyGI 3.18.2 AIO rev6 for python 2.7, 3.1, 3.2, 3.3 and 3.4 (32bit/64bit)Python 3.5 port is WIP
【解决方案2】:

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/

希望对你有帮助。

编辑:

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

【讨论】:

猜你喜欢
  • 2011-12-11
  • 1970-01-01
  • 2022-01-03
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
相关资源
最近更新 更多