pycharm导入dll,报错[WinError 126] 找不到指定模块

转载自:

https://www.cnblogs.com/yucen/p/9343555.html

https://blog.csdn.net/jacke121/article/details/84111112

经百度后发现,引起此类问题的主要原因有二:

(1)没有找到该DLL文件,路径不对或者被杀毒软件隔离;

(2)你的DLL动态库依赖于其他其他DLL动态库无法被系统找到。在Python里面载入dll时,如果这个dll还依赖于其它的dll的话,这些相关的dll也得要能被Python的进程访问到。

(3)无法定位到dll所在目录  (即使使用全局路径也没有用)

(4)debug模式下打包dll,依赖msvcp140d.dll,而正常的vs2015runtime安装的dll对应msvcp140.dll。此外,debug下如果依赖opencv,也是对应的opencv_world343d.dll;如果换成release模式,记得将opencv_world343.dll一起复制过来。

解决方法:

对于原因一,可以把文件路径改为绝对路径;把杀毒软件关闭重新操作。

对于原因二,最基本的解决方式是把相关的DLL 动态库也导进来,这样问题基本就能解决。如果无法确定相关DLL 动态库,引起这类问题的原因很可能是由于你的目标主机没有安装相关的C++环境。解决方法:下载Visual C++ Redistributable运行库,64位版本下载地址为 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145  最终,下载这个运行库后问题完美解决。

对于原因三,使用os.chdir(‘D:\\ge\\testDLL\\x64\\Debug\\’),定位到你的dll所在目录,再cdll.LoadLibrary(‘xxx.dll’)

对于原因四,用release模式再打包一遍dll,并且将release的dll依赖的库也更新成release版本的,例如opencv_world343.dll。

    原文作者:peach_orange
    原文地址: https://blog.csdn.net/peach_orange/article/details/88313963
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞