*.pyd 文件无法加载,但 DependancyWalker 恢复正常,并且 ProcMon 显示它已加载

Tra*_*er2 5 python dll pyd procmon

我正在尝试使用 Python 加载 *.pyd,但收到众所周知的“导入错误:DLL 加载失败:找不到指定的过程”。错误。

我已经完成了以下操作:

1.) 使用 Dependency Walker 研究 *.pyd。GPSVC.DLL 和 IESHIMS.DLL 出现丢失,但延迟加载,IEFRAME.DLL 也出现丢失导出,但也是延迟加载。据我了解,这些没有被使用,并且无论如何都是延迟加载,所以它们不应该是问题。

2.) 在 python 命令窗口中对 foo.pyd 执行“import foo”,并用 ProcMon 进行监视。ProcMon 在“foo.pyd”上显示事件“LoadImage”,结果成功。

这似乎意味着 *.pyd 文件已正确加载。

那么我错过了什么。我的 Windows 诊断告诉我一切都很好,但 python 告诉我无法加载该东西(通常是由于缺少 dll 或符号)。

有想法吗?

谢谢!

Baf*_*ois 5

.pyd 文件是否与您使用的 Python 版本相同?加载错误 Python 版本的 .pyd 文件可能会产生该错误消息。

Dependency Walker 可以显示它链接到哪个 pythonNN.dll。