如何在Windows上使用Python 2.6安装PyGTK / PyGobject?

12 投票
5 回答
27579 浏览
提问于 2025-04-15 13:40

我有一个应用程序,它依赖于 PyGTK、PyGobject 和 PyCairo,我是为了在 Linux 上运行而开发的。现在我想把它移植到 Windows 上,但当我执行 import gobject 时,出现了以下问题:

Traceback (most recent call last):
    import gobject
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\__init__.py", line 30, in <module>
    from gobject.constants import *
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\constants.py", line 22, in <module>
    from _gobject import type_from_name
ImportError: DLL load failed: The specified procedure could not be found.

这个问题似乎是因为我从使用 MinGW 编译切换到了 Microsoft Visual Studio,具体情况可以参考 Python Bug 3308已关闭:不修复)。

有没有办法在 Windows 上安装 PyGTK/PyGObject,使其能够与 Python 2.6 一起使用,而不需要从源代码重新编译其中的一个或另一个?

5 个回答

3

对于64位Windows用户,请查看

http://digitalpbk.blogspot.in/2012/03/installing-pygtk-pypango-and-pycairo-on.html

以上步骤在64位系统上会出现无效的DLL错误。

4

最近,PyGTK的全能安装包进行了更新:

http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/

这个安装包会同时安装PyGTK、PyGObject、PyCairo、PyGtkSourceView2、PyGooCanvas、PyRsvg,还有gtk+-bundle和Glade。也就是说,它包含了你成功使用import gobjectimport gtk等命令所需的所有东西,而且不会出现DLL相关的问题。

10

我这边已经搞定了,运行得很好,也没遇到什么麻烦,所以我们知道这是可以做到的……

请记住,你可能需要在你的Windows电脑上安装以下所有内容:

我怀疑在你的情况下,PyGTK库找不到你的GTK+运行时目录,也就是DLL文件所在的地方。你应该把环境变量GTK_BASEPATH设置为你的GTK+运行时的目录(通常是C:\GTK)。

请你也查看一下 PyGTK在Windows上的常见问题

现在,如果你想用Py2EXE来编译带有PyGTK的Python,那就稍微复杂一些,但也是可以做到的……

撰写回答