1

嗨,已经在一个 pygtk 中安装了所有内容,我收到了这个著名的错误“DLL Load Failed”

我用dependency walker运行它,它给了我这个错误:

LoadLibraryExA("c:\python\python27\lib\site-packages\gtk-2.0\gtk\_gtk.pyd",  
0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL by thread 1. 
Error: The specified procedure could not be found (127).

它显示三个 .DLL 丢失

  • LIBGTK-WIN32-2.0-0.DLL
  • LIBPANGO-1.0-0.DLL
  • LIBPANGOCAIRO-1.0-0.DLL

但是,当我查看 gtk-2.0 的 python 目录中的运行时文件夹时,我确实看到了这三个文件?

我还从 grimps 运行了 check_gtk_install.py 脚本,它给了我以下信息:

==== Checking with Dependency Walker ====
  Please be patient takes some time
Testing file C:\Python\Python27\Lib/site-packages/gtk-2.0/gtk/_Gtk.pyd
API-MS-WIN-CORE-COM-L1-1-0.DLL      Error dll not found
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL      Error dll not found
API-MS-WIN-CORE-WINRT-L1-1-0.DLL    Error dll not found
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL   Error dll not found
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL     Error dll not found
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL        Error dll not found
DCOMP.DLL   Error dll not found
GPSVC.DLL   Error dll not found
IESHIMS.DLL         Error dll not found
ERROR: c:\program files (x86)\intel\icls client\MSVCR90.DLL         Version
9.0.30729.6161

MS runtime Version 9.0.30729.6161 loaded from
c:\program files (x86)\intel\icls client\MSVCR90.DLL

MS runtime Version 9.0.30729.6161 loaded from
c:\windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_non
e_50934f2ebcb7eb57\MSVCR90.DLL

Testing file C:\Python\Python27\Lib/site-packages/gtk-2.0/gobject/_GObject.pyd

API-MS-WIN-CORE-COM-L1-1-0.DLL      Error dll not found
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL      Error dll not found
API-MS-WIN-CORE-WINRT-L1-1-0.DLL    Error dll not found
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL   Error dll not found
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL     Error dll not found
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL        Error dll not found
DCOMP.DLL   Error dll not found
GPSVC.DLL   Error dll not found
IESHIMS.DLL         Error dll not found
ERROR: c:\program files (x86)\intel\icls client\MSVCR90.DLL         Version
9.0.30729.6161

MS runtime Version 9.0.30729.6161 loaded from
c:\program files (x86)\intel\icls client\MSVCR90.DLL

MS runtime Version 9.0.30729.6161 loaded from
c:\windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_non
e_50934f2ebcb7eb57\MSVCR90.DLL

Testing file C:\Python\Python27\Lib/site-packages/gtk-2.0/pangocairo.pyd
API-MS-WIN-CORE-COM-L1-1-0.DLL      Error dll not found
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL      Error dll not found
API-MS-WIN-CORE-WINRT-L1-1-0.DLL    Error dll not found
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL   Error dll not found
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL     Error dll not found
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL        Error dll not found
DCOMP.DLL   Error dll not found
GPSVC.DLL   Error dll not found
IESHIMS.DLL         Error dll not found
ERROR: c:\program files (x86)\intel\icls client\MSVCR90.DLL         Version
9.0.30729.6161

MS runtime Version 9.0.30729.6161 loaded from
c:\program files (x86)\intel\icls client\MSVCR90.DLL

MS runtime Version 9.0.30729.6161 loaded from
c:\windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_non
e_50934f2ebcb7eb57\MSVCR90.DLL

在我尝试艰难地尝试并单独安装所有依赖项之前,我会首先尝试为此找到解决方案(尽管 ai 已经尝试过但没有成功)。

ps,我知道这个问题已经存在了一段时间,但我找不到适合我的答案,我尝试了 stackoverflow 上提供的几乎所有解决方案。

更新:从上面提到的三个 DLL 文件中,每个文件中只有一个存在于我的硬盘上,除非它们隐藏在我看不到的地方。

更新:我不认为这些 dll 文件是问题,因为我尝试运行 demo-gtk.exe 文件并且效果很好,如果这些文件是问题,那么演示不应该工作,我尝试通过删除thou 个文件并运行演示,但它没有工作.. 这让事情变得更糟,因为现在我不知道如何进一步调查?有人对如何找到问题有任何建议吗?

4

1 回答 1

0

遵循这些说明

https://www.liamschneider.com/node/9

对我来说这是同样的问题,我发现使用 ProcMon 导入 gtk 从 SysWOW64 加载 zlib1.dll 而不是 gtk 运行时文件夹,我从那里删除它并且 gtk 导入正常。

于 2013-09-02T18:56:19.247 回答