然后:
看吧 验证了我所想,搞出来了。正确!!!!!!!!!!!!!!!!!!!!!!!!!!!!
即现在电脑里有2个版本:2.7的没有opencv接口,3.5的有opencv3.2接口:
总结:
1、电脑里有多个版本的python没关系的,但python命令关联到哪个版本关系到能否使用yum等命令!最好还是python命令关联的是2.7版本,python3命令关联的是3.5版本,以防止混乱。
2、不一定要事先下载numpy文件,先检查电脑里的python的目录下有没有numpy文件夹,检查numpy文件夹中是否有_numpyconfig.h文件,如果有,这一步就省略;否则手动下一个全面的numpy。
3、cmake时一定要注意填写PYTHON_***相关的目录,尽量都填完并且核对。特别是PYTHON_NUMPY,一定要注意PYTHON2和PYTHON3的版本拥有不同的numpy!
4、在make install之后出来的是cv2.cpython-35m-x86_64-linux-gnu.so而不是cv2.so,不要惊慌,软链接一下就好。
其实就是第3步最最重要!这一步正确,后面就不用像我这样麻烦了。当然尽量不要多版本搞在一个电脑中。
有一个感想:问题是不会无缘无故爆出来的,必定有其对应原因,学会联系错误提示,找到可能的解决办法,办法往往不止一种。
精简步骤如下:
1、安装你想安装的python版本,系统自带的python2.7,我自己又下了python3.5并安装;
2、下载每个python版本对应的numpy(注意是对应的,不能搞错版本)并安装(也许某个版本会安装不上,这个就要自己想办法解决,就像我上面那样),放在每个python的site-packages下;
3、下载你想下载的opencv版本并解压;
4、在cmake下进行opencv编译,注意所有的PYTHON_***后面的路径自己尽量补全,而且每个版本的PYTHON_NUMPY路径一定要核对正确。configure--configure--generate
5、输入相应的指令,如python或python3进入python环境,import cv2 看是否报错。如果安装正确,是不会报任何错的!
然而,还有一个更简单的方法,即用Anaconda3-4.2.0来装python3.5和opencv3.4,这样更方便:
1、下载Anaconda3-4.2.0-Linux-x86_64.sh并默认安装
2、pip install opencv-contrib-python 如果time out 就直接去https://pypi.python.org/pypi/opencv-contrib-python/3.4.0.12 下载对应版本。如果想要3.2的直接在https://pypi.python.org/pypi/opencv-contrib-python/3.2.0.8下载对应版本
3、import cv2即可。 有什么问题可以参考 https://pypi.python.org/pypi/opencv-contrib-python/3.2.0.8