最近由于在已经安装了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。