【问题标题】:import gtk/glib produces ImportError: DLL load failedimport gtk/glib 产生 ImportError: DLL load failed
【发布时间】:2023-10-11 14:20:02
【问题描述】:

我在 Windows XP SP3 上从他们各自的网站安装了最新版本的 python (2.6.5)、gtk+、pygtk(和朋友)。当您尝试导入 gtk(或者只是 glib)时,会引发 ImportError:

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\lib\site-packages\gtk-2.0\gtk\__init__.py", line 38, in <module>
    import gobject as _gobject
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\__init__.py", line 26, in <module>
    from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
  File "C:\Python26\lib\site-packages\gtk-2.0\glib\__init__.py", line 22, in <module>
    from glib._glib import *
ImportError: DLL load failed: The specified procedure could not be found.

这在大约 6 个月前在同一台机器上工作,尽管这次我重新安装了。我尝试了不同版本的库,但仍然无法正常工作。

pages 中的a couple 与此相关,但没有提出解决方案,我也找不到。

【问题讨论】:

    标签: python pygtk gtk


    【解决方案1】:

    我通过安装 Windows GTK+ 运行时解决了这个问题,如此链接中所示 http://www.gramps-project.org/wiki/index.php?title=Windows_installer#Installation

    另请参阅他们专门解决 Windows 上的导入错误的页面:http://www.gramps-project.org/wiki/index.php?title=ImportError:_DLL_load_failed

    【讨论】:

      【解决方案2】:

      我自己设法解决了这个问题。首先,原因可能不止一个,所以这可能对每个人都没有帮助。

      我检查了PATH 系统环境变量并删除了所有指向旧版本 gtk+ 的路径(例如,那些与应用程序一起打包的路径)。

      【讨论】:

        【解决方案3】:

        同样的问题,答案是从 grampy 页面重新安装 pygtk。 这是 pygtk 的问题,而不是系统或 gtk 的问题。 (在此之前,import pygtk 效果很好)

        【讨论】:

          【解决方案4】:

          我在 Windows 7 64 上遇到了同样的问题。我尝试安装多个版本的 python 2.6,以及应该给你 GTK+ 的 all-in-one pygtk。这个安装程序似乎没有做任何事情。然后我安装了最新版本的 GTK+(来自binary)、pygtk、pycairo 和 gobject(都在 pygtk downloads 网站上进行了解释)。当我这样做时,我得到了上面给出的ImportError: DLL load failed: The specified procedure could not be found.

          解决方案是卸载 pygtk、pycairo、gobject 并从我的路径变量中删除 GTK+ bin 位置。然后我去了here 并在“依赖项 - 艰难之路”下执行了前 5 个步骤(按此顺序)。现在它可以工作了。注意:我没有安装 gramps,只安装了 pygtk 部分(前 5 步)。

          【讨论】:

            【解决方案5】:

            一些报告表明诀窍是首先导入pygtk。你试过吗?

            【讨论】:

              【解决方案6】:

              我已将 gtk 模块(站点包:gtk-2.0、pygtk.py、cairo)复制到其他 python 安装并遇到了同样的问题。

              发生这种情况是因为我忘记复制 site-packages/pygtk.pth。

              【讨论】: