导入GTK时出错
我正在使用Python 2.7,并且安装了最新版本的GTK。
我尝试用以下代码导入gtk:
import gtk
但是出现了以下错误:
追踪记录(最近的调用在最前面): 文件 "C:\GTKTutorial\tutorial.py",第3行,在
import gtk 文件 "C:\Python27\lib\site-packages\gtk-2.0\gtk__init__.py",第40行,在
from gtk import _gtk 导入错误:DLL加载失败:指定的过程无法找到。
我该如何解决这个问题?import pygtk可以正常工作,并且我安装了Glade 3.8.0。
2 个回答
我花了三天时间在我的电脑上调试这个问题。这个问题可能有很多原因,因为导入gtk会加载很多DLL文件。如果其中任何一个出错,你就会看到同样的错误信息。对我来说,突破口是
http://www.dependencywalker.com/
我用它来分析这个命令
python -i -c "import gtk"
在我的电脑上,系统32目录里有一个错误版本的zlib1.dll,这导致gtk\bin里的正确版本无法加载。即使我的路径的第一个条目指向gtk\bin,它还是没有加载。
我把系统32里的zlib1.dll删除了(放它在那里的应用程序真该死),然后导入就正常了。你的问题可能不同,但依赖分析工具可能会给你一些关于出错原因的线索。
在Windows中,加载DLL的原因可能有很多,不仅仅是你放在目录或路径中的那个。我发现这个博客
http://www.davidlenihan.com/2007/07/winsxs.html
很有用。它描述了微软如何管理多个版本的DLL,以及如何解决相关问题。
你从哪里下载的PyGTK安装程序?试试这个链接: http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/pygtk-all-in-one-2.22.6.win32-py2.7.msi