win10 + python 3.6 + Anaconda+ 安裝 opencv3.4.3:解決import cv2 問題
win10 + python 3.6 + Anaconda+ 安裝 opencv3.4.3:解決import cv2 問題
OpenCV是一個影象處理的經典庫,而且關鍵是一直在升級。為了在Python中呼叫opencv,特別是看到好多程式碼都是import cv2,而這個在python中是無法直接進行pip install安裝的,也沒辦法用 conda list 安裝。
查了下,才知道需要從opencv庫中進行拷貝,先把檔案下載到本地,再用命令列安裝。
環境:
win10,64位,python 3.6,Anaconda3(64-bit),想裝opencv3.4.3(最新版本)
安裝流程:
(1) 在網址(https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv)下載適合電腦配置版本的輪子:
然後把它複製貼上到這個資料夾:“C:\Users\Kevin\Anaconda3\Lib\site-packages”
(2) 在這個資料夾的空白處右鍵,開啟 Git Bash命令列輸入 “pip install opencv_python-3.4.3-cp36-cp36m-win_amd64.whl“,然後就看到安裝成功的提示。
(3) 開啟cmd, 進入 IPython,輸入 “import cv2”,說明呼叫成功。再輸入”help(cv2)”檢視幫助資訊。
注意:以上只是在Anaconda的預設環境(root環境)安裝了 opencv,如果想在TensorFlow或Keras中呼叫,還需要在TensorFlow的環境中安裝一遍。步驟如下:
(4) 在Anaconda Prompt中,在tensorflow環境用 pip 安裝 opencv,輸入
”pip install C:\Users\Kevin\Anaconda3\Lib\site-packages\opencv_python-3.4.3-cp36-cp36m-win_amd64.whl”
經試驗,這裡只能用 pip 進行安裝,用 conda install 會報錯,如下圖所示:
(5) Import cv2 成功,但是在Jupyter中出現一個新的錯誤:
出現以下錯誤:
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
ImportError Traceback (most recent call last)
in ()
10 from keras import backend as K
11 K.set_image_data_format(‘channels_first’) # 用這個書寫習慣
—> 12 import cv2
13 import os
14 import numpy as np
ImportError: numpy.core.multiarray failed to import
原因:
這裡有2個版本的 numpy。在第4步中,我們是用 pip install的opencv,pip自帶的 numpy版本是 0xc(12),而jupyter執行的是anaconda的 numpy版本,版本號是0xb(11),後者比較舊,導致import 報錯。
因此,需要升級 conda 的numpy。
在 Anaconda prompt 輸入“conda install numpy”
安裝,然後就發現 conda list中的numpy 版本更新了,如下所示,說明安裝成功。
第一篇CSDN部落格,希望能給剛踏上AI之路的小夥伴一點幫助。就像黃博所說,在這條路上,“你不是一個人在戰鬥!”
[1]: 參考教程