如何在Windows上使用Python 2.6安装PyGTK / PyGobject?
我有一个应用程序,它依赖于 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 个回答
对于64位Windows用户,请查看
http://digitalpbk.blogspot.in/2012/03/installing-pygtk-pypango-and-pycairo-on.html
以上步骤在64位系统上会出现无效的DLL错误。
最近,PyGTK的全能安装包进行了更新:
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/
这个安装包会同时安装PyGTK、PyGObject、PyCairo、PyGtkSourceView2、PyGooCanvas、PyRsvg,还有gtk+-bundle和Glade。也就是说,它包含了你成功使用import gobject
、import gtk
等命令所需的所有东西,而且不会出现DLL相关的问题。
我这边已经搞定了,运行得很好,也没遇到什么麻烦,所以我们知道这是可以做到的……
请记住,你可能需要在你的Windows电脑上安装以下所有内容:
PyCairo( http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/ )
PyGobject( http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/ )
PyGTK( http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/ )
非官方 的这三项x64版本可以在 这里 找到——不过,我不能保证或推荐它们!
当然还有
GTK+运行时( http://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/ 或 http://ftp.gnome.org/pub/GNOME/binaries/win64/gtk+/ )
我怀疑在你的情况下,PyGTK库找不到你的GTK+运行时目录,也就是DLL文件所在的地方。你应该把环境变量GTK_BASEPATH设置为你的GTK+运行时的目录(通常是C:\GTK)。
请你也查看一下 PyGTK在Windows上的常见问题
现在,如果你想用Py2EXE来编译带有PyGTK的Python,那就稍微复杂一些,但也是可以做到的……