我在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个月前在同一台机器上工作,虽然这次我重新安装了。我尝试了不同版本的库,但仍无法使其工作。
答案 0 :(得分:5)
我通过安装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
答案 1 :(得分:3)
我自己设法解决了这个问题。首先,可能有多个原因,所以这可能对每个人都没有帮助。
我浏览了PATH
系统环境变量并删除了所有指向旧版gtk +的路径(例如,与应用程序打包在一起的路径)。
答案 2 :(得分:2)
同样的问题,答案是从grampy页面重新安装pygtk。 这是pygtk的问题,而不是系统或gtk。 (在此之前,导入pygtk效果很好)
答案 3 :(得分:2)
我在Windows 7 64上遇到了同样的问题。我尝试安装python 2.6的多个版本,以及all-in-one pygtk也应该给你GTK +。这个安装程序似乎没有做任何事情。然后我安装了最新版本的GTK +(来自binary),pygtk,pycairo和gobject(所有这些都在pygtk downloads网站上进行了解释)。当我这样做时,我得到了上面给出的ImportError: DLL load failed: The specified procedure could not be found.
。
解决方案是卸载pygtk,pycairo,gobject并从路径变量中删除GTK + bin位置。然后我走了here并按照#34;依赖关系 - 艰难的方式&#34;进行了前5个步骤(按此顺序)。现在它有效。注意:我没有安装gramps,只是pygtk部分(前5个步骤)。
答案 4 :(得分:0)
有些报告表明诀窍是首先导入pygtk
。你试过了吗?
答案 5 :(得分:0)
我已经将gtk模块(site-packages:gtk-2.0,pygtk.py,cairo)复制到其他python安装并遇到了同样的问题。
之所以发生这种情况,是因为我忘了复制site-packages / pygtk.pth。