先说一下背景,笔者是为了玩naoqi机器人,所以在anaconda下创建了一个python2.7版本的虚拟环境,然后安装opencv-python的库,一路上踩了许多坑,希望做个小总结,让后人少走些弯路。
此篇博客默认读者已经安装好了choregraphe,并配好了naoqi库的环境。
anaconda清华镜像源
根据自己的系统自行下载即可。
打开安装包后,just me(recommended)→安装路径自行选择,笔者安装在默认路径,没有改,建议全英文路径→两个勾全打上→静候安装完成。
(这边的两个勾勾都要打上!!!)
在cmd窗口内输入
conda create -n 环境名 python=2.7
这边我们给环境取名为 py27test,如下
conda create -n py27test python=2.7
回车。
短暂地卡顿后,会出现一大串字符,不要管他,只要最后出现proceed([y]/n)?就算成功。
输入y,回车
这样,虚拟环境就创建成功了。我们继续在cmd窗口内输入
conda activate py27test
若出现以上界面,即C:/Users…之前出现(py27test),就说明你已经进入你创建的虚拟环境了。
更多关于anaconda下虚拟环境的相关操作,可以参考这篇博客:
anaconda 创建虚拟环境、激活及使用的基本方法
.
在step2的基础上,在cmd中输入
pip install opencv-python==3.1.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
回车运行,静候安装成功
需要注意的是,这边自动安装了和3.1.0.1版本opencv-python相适应的numpy版本,我们就不需要另外安装了。
接下来,安装3.2.0.7版本的opencv-contrib-python。
pip install opencv-contrib-python==3.2.0.7 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip list
检查一下在py27test中的库。
可以看到,numpy,opencv-python,opencv-contrib-python都已经安装好了。到此,大功告成。
一开始我在step3中的命令是:
pip install opencv-python
后来发现,下载的速度极其慢,慢的令人发指,不超过10kb/s的速度真让人抓狂。动不动就报错。
后来查了查,原来是因为下载源的问题。
pip install的默认下载源是设在国外的,速度慢就是当然的了。
所以,我们需要更改下载源。
更改下载源分为两类,一类是永久更改,一类是暂时更改。在这里我们选用的是暂时更改。即:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/
目前国内的下载源主要有以下几个,一并附上:
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
中科大:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
阿里云:https://mirrors.aliyun.com/pypi/simple/
豆瓣云:http://pypi.doubanio.com/simple/
在我对opencv-python的安装包进行换源下载之后,又出现了新的报错。百般尝试之后,发现是因为版本问题。
naoqi机器人暂时只支持python2.7,所以新版本的第三方库可能用不了,而pip install+库名,会自动给你下载当下最新版本的库。
所以,我们需要在对库加以版本限制,比如:
pip install opencv-python==3.1.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
这样即可下载安装一步完成。