最近由於在已經安裝了tensorflow的環境中又裝了個opencv,結果忽然發現import tensorflow一句居然會致使程序崩潰!?到網上查了下發現是由於conda install opencv3會致使舊版本的numpy覆蓋新版本的tensorflow帶的numpy致使各類複雜的問題。在嘗試重裝numpy無效後我決定從新配置一次環境,並記錄下過程和你們分享:python
anaconda的安裝是十分容易的,不過若是選了add to path容易出錯,建議裝好後手動配置環境變量。windows
因爲上次先裝的tensorflow結果出錯了,因此此次我決定先裝opencv。固然第一步是建立一個虛擬環境:code
第一步,打開AnacondaPromptblog
第二步,輸入ip
conda create -n <your_enviroment_name> python=<any_version>
尖括號<>中的內容能夠替換爲你想要的環境名和python版本,我這裏使用的是3.6.8。it
這樣咱們就建立好了一個虛擬環境pip
activate <your_enviroment_name>
激活你的虛擬環境,網上提供了不少安裝opencv的方法,但大多在咱們這裏不適用。io
這裏介紹一下無效的方法,也是給本身提個醒,不能徹底照抄網上的opencv
=============================分割線================================class
無效的方法一:conda install -c https://conda.anaconda.org/menpo opencv3這條代碼或許對於其餘python版本有用,但windows上對於python3.6是無效的
如圖所示,在windows下該頻道內的opencv最高支持到python3.5,因此若是想經過這條命令安裝opencv3就用低一點的版本吧。
無效的方法二:pip3 install opencv-python==3.4.3.18(這個版本號能夠隨意換)
pip3 install opencv-contrib-python==3.4.3.18
這兩條命令直接運行是會安裝在Anaconda的安裝目錄下:Anaconda3/Lib/site-packages中,因此對於咱們的虛擬環境來講是沒有效果的。
==============================分割線=============================
個人方法:
1.仍是在虛擬環境中,使用cd命令先來到Anaconda3/envs/<your_enviroment_name>/Scripts目錄下(這裏是虛擬環境中pip.exe的安裝目錄)
2.輸入pip.exe install opencv-python==3.4.3.18
pip.exe install opencv-contrib-python==3.4.3.18
3.輸入conda install tensorflow(-gpu)
使用conda install的好處就是它會幫你檢查依賴包,以避免你安裝了錯誤的版本或少安裝,但有時也會出問題,好比先使用conda install tensorflow-gpu,再使用conda install opencv3,那麼你的numpy版本就極可能被替換掉。
請注意你只能在該虛擬環境下使用這兩個庫,在base環境時(剛打開anaconda prompt時的環境)是不能使用的,而若是想在spyder、jupyter中使用,你還須要在該環境中安裝spyder等。可使用conda install spyder。