将DLL模块导入Python时,有时我会得到:
ImportError: DLL load failed: The specified module could not be found.
问题通常是:
Dependency walker有时会回答这个问题。但是,有时它不会,特别是如果问题是缺少Visual Studio运行时DLL。
有没有办法让Python告诉我丢失的DLL依赖项的名称?
答案 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都会在窗口中显示错误信息,隐藏在错误信息中的是丢失文件的名称。