一定一定要记录一下这个问题,对于一个python的小白小白的我,折磨了我一天半的时间才解决!!
事情的起因是学习airtest,官方文档介绍说可以在python环境运行.air脚本,于是开始了python相关环境的折腾;
首先,我的电脑上在之前就安装了python2的环境,环境也应该都是正常的,跟着airtest的官方文档,安装了相关packgages后,输入脚本运行命令,还是报错,于是开启了解决征程
airtest官方网建议用python3,我这边python2跟着官方方式解决问题,并没有什么卵用,最后放弃python2,怀疑是python版本问题
尝试1:卸载python2,安装python3,安装后并没有什么卵用,继续一样的问题排查
在网上查找很多资料后,了解到,运行.air脚本会用的cv2模块,上图的模块就是cv2模块导致的问题,引用cv2时就是该错误,如图
尝试2:网上说openvc版本应该与python版本兼容,通过pip安装、网上安装对应版本后,问题仍然存在
尝试3:安装c++ 2017进行安装:https://download.csdn.net/download/x_uhen/10616545,安装后问题仍然存在
尝试4:安装numpy和opencv_python包放到python的site_packages下(下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/),或者pip安装即可,下载后问题仍然存在
尝试5:python中缺少python3.dll文件,查看我的python安装模块,没有问题,不缺少
尝试6:使用depends软件查看缺失了什么DLL(失败)
下载地址:http://www.dependencywalker.com/
下载后使用软件打开python下cv2目录下的cv2.cp36-win_amd64.pyd文件(我的在C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Lib\site-packages\cv2),软件提示缺失了两个DLL,就是图中黄色的两个:
于是在电脑中查找,两个文件都没有,在百度上下载了对应系统的两个dll文件,放到了对应的系统文件下,结果depends显示api-ms-win-downlevel-shlwapi-l1-1-0.dll的文件还是找不到,IEShims.dll已经找到了,于是将api-ms-win-downlevel-shlwapi-l1-1-0.dll文件复制到cv2路径下,再次用depends查看没有问题,如图:
这里我的电脑是64位的系统,复制的也是64的dll文件,却提示不是有效的win32应用程序,于是就替换了文件为win32的dll,结果再次尝试:
成功!!!成功!!
结果问题就是,我的电脑系统确实dll文件,并且安装后,python识别不了电脑路径,从而找不到其中一个dll文件,索性将dll文件放到python对应目录下解决!!!呵呵.....
参考文章:
https://blog.csdn.net/qq_36986305/article/details/81673901