最近利用pycharm在Ubuntu系統下調試一個Python項目,將pycharm的解釋器從python2.7更換到python3.4后,程序中的Import cv2提示no modules named cv2錯誤。
經測試需要做兩處調整可以解決此問題:
1)將usr/lib/python2.7/dist-packages中的cv2.so文件復制到usr/lib/python3.4/dist-packages
2)回到/home路徑下,Ctrl+h將隱藏文件夾及文件復現,然后找到/home/.PyCharmCE2017.2/system/python_stubs下面會有兩個文件夾,一個對應python2.7第三方模塊的源文件,另一個對應於python3.4。只需找到python2.7下面的cv2文件夾復制到python3.4對應的文件夾下面即可。
--------------------------------------------------------我是分割線-----------------------------------------------
很遺憾,上面的方法指標不治本,在調試程序時出現錯誤:
ImportError: dynamic module does not define init function (PyInit_cv2)
在stackflow上搜了一波之后,類似問題說並沒導出對應的初始化函數,但是具體如何導出讓然不得而知。於是又嘗試安裝opencv-python:
sudo pip3 install opencv-python
結果問題迎刃而解。對應版本為version3.2.0.8