windows7,python使用cv2模塊的問題ImportError: DLL load failed: 找不到指定的模塊。”

一定一定要記錄一下這個問題,對於一個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

https://blog.csdn.net/u012318074/article/details/78840747

https://blog.csdn.net/cskywit/article/details/81513066

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章