如何获得有关Python的更多细节"无法找到指定的模块"

时间:2017-03-29 17:54:40

标签: python python-2.7

将DLL模块导入Python时,有时我会得到:

ImportError: DLL load failed: The specified module could not be found.

问题通常是:

  • 缺少DLL依赖项(通常是Visual Studio运行时DLL)
  • 为32位编译的DLL或依赖项,应为64位

Dependency walker有时会回答这个问题。但是,有时它不会,特别是如果问题是缺少Visual Studio运行时DLL。

有没有办法让Python告诉我丢失的DLL依赖项的名称?

2 个答案:

答案 0 :(得分:1)

这是我最终做的事情。

单独使用Python无法解决我的问题。所以我改用了C ++。

我创建了一个小的win32应用程序来链接.lib文件旁边生成的.pyd文件,并强制它使用.pyd文件中的符号:

extern "C" __declspec(dllimport) void initmymodule();

...

printf("%p\n", initmymodule);

然后,在运行此程序时,Windows会告诉我哪个DLL丢失了。

答案 1 :(得分:0)

是。从shell运行script_name.py(Windows中的cmd.exe或powershell)并阅读错误消息。该错误将显示缺少哪个依赖项。

如果您缺少多个,可能需要多次重复此过程。

任何IDE,包括IDLE都会在窗口中显示错误信息,隐藏在错误信息中的是丢失文件的名称。