问题描述
我正在尝试使用Python加载* .pyd,但收到众所周知的导入错误:DLL加载失败:找不到指定的过程。错误。
I am trying to load a *.pyd with Python, but I receive the well known "Import Error: DLL load failed: the specified procedure can not be found." error.
我已经完成以下操作:
1。)使用Dependency Walker研究了* .pyd 。 GPSVC.DLL和IESHIMS.DLL丢失,但是延迟加载,IEFRAME.DLL aslo丢失了导出,但是也延迟加载。据我了解,这些没有被使用,并且无论如何都是延迟加载,因此它们应该不是问题。
1.) Investigated the *.pyd with Dependency Walker. GPSVC.DLL and IESHIMS.DLL came up as missing, but delay loaded, IEFRAME.DLL aslo came up as missing an export, but was also delay-loaded. It's my understanding that these are not used, and are delay load anyway, so they should not be the problem.
2。)在foo上做了一个 import foo。 python命令窗口中的pyd,并监视ProcMon。 ProcMon在 foo.pyd上显示事件 LoadImage,结果为SUCCESS。
2.) Did an "import foo" on foo.pyd in the python command window, with ProcMon watching. ProcMon shows event "LoadImage" on "foo.pyd" with result SUCCESS.
这似乎暗示* .pyd文件已正确加载。
This seems to imply that the *.pyd file loaded correctly.
那我想念的是什么。我的Windows诊断程序告诉我一切都很好,但是python告诉我无法加载该东西(通常是由于缺少dll或符号)。
So what am I missing. My windows diagnostics are telling me all is well, but python is telling me the thing cannot be loaded (usually due to a missing dll or symbol).
想法?
谢谢!
推荐答案
同一版本的.pyd文件是您正在使用Python?为错误的Python版本加载.pyd文件会生成该错误消息。
Is the .pyd file for the same version of Python you're using? Loading a .pyd file for the wrong Python version can produce that error message.
Dependency Walker可以向您显示其链接到哪个pythonNN.dll。
Dependency Walker can show you which pythonNN.dll it links to.
这篇关于* .pyd文件无法加载,但是DependancyWalker干净了,ProcMon显示它已加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!