OSError: [WinError 126] 找不到指定的模块 FileNotFoundError: Could not find module ‘xxx.dll‘. 解决方法

运行别人发给我的程序,遇到用ctypes引用dll文件的地方报错了:

python3.5下报错是:

OSError: [WinError 126] 找不到指定的模块

python3.9下报错是:

FileNotFoundError: Could not find module 'xxx.dll'. Try using the full path with constructor syntax.

都是一个意思,就是找不到指定的dll文件。但是我很确定我路径是对的,它就在我的文件夹根目录下。(这里需要注意,要用绝对路径。就是如果跟代码在同个目录下,dll文件名前面要加个./

于是我查阅资料发现有可能是缺少这个dll文件的依赖dll文件。我又去找,发现依赖的dll文件我都有。琢磨了半天,最后突发奇想,是不是有可能是缺少依赖dll文件的依赖dll文件

结果果然,在某个我引用的dll文件的依赖dll文件里有个依赖dll文件我电脑没有。

所以这篇博客就是提醒大家,如果遇到和我一样的情况,把你的dll文件往死里挖。


找dll依赖项的方法我是用dumpbin。使用方法参照这篇博客 查看dll的附加依赖项_Simple Simple的博客

你可能感兴趣的:(报错问题汇总,python)