电脑里有:Python2.7.5、python3.5.0(后来下载安装的,当下载安装这个版本后,发现输出python -V命令出来的只会是3.5.0l了)、opencv3.2.0、numpy1.9.0(我自己手动下载安装的)。看了网上的很多教程,试了很多遍,弄完以后仍旧没有cv2.so!找了很久原因,看到别人说:
于是我再一次编译安装opencv3.2时候出现:
接着之前报错的地方继续安装,出现:
然后configure,接着configure,接着generate即可。
然后去刚刚编译好的文件夹下面,make :
继续make install。然后我的即可在刚刚编译的文件夹下找到这个cv2的字样:
这时候通过在整个计算机中查找,我发现/usr/local/lib/python3.5/site-packages下也有这个cv2.cpython-35m-x86_64-linux-gnu.so文件。于是我进入这个目录后:ln -s cv2.cpython-35m-x86_64-linux-gnu.so cv2.so 将那个文件软链接到cv2.so!这样就可以了。(在make install之后我没找到cv2.so文件差点崩溃放弃,还好我没放弃,终于等到你哈哈哈)
看可以了:
我查了下numpy.core.multiarray failed to import 这个错误是因为版本不对,我cmake里无论是python3.5还是python2.7用的都是/usr/lib64/python2.7/site-packages/numpy/core/include/numpy!这是不对的!版本不对问题。(你们看之前cmake时的PYTHON2_NUMPY和PYTHON3_NUMPY的路径都是2.7下的那个numpy,而那个numpy其实是1.7版本的,所以这个numpy文件夹只适合python2.7,所以安装完毕时它自动跑去了python2.7的site-packages下面,而python3.5下面就没有!!!!!所以这是不对的!!!!python2.7和python3.5用的都是python2.7的numpy,而我现在是搞Python3.5+OpenCV3.2)我看了网上说python3.5.0的需要numpy1.11.1!一个办法是下载安装numpy1.11.1后重新返回cmake那里写正确的PYTHON_NUMPY路径!或者另一个办法,下载安装新的合适的numpy1.11.1后移入python3.5下面(不知道行不,试试。即我想在不cmake的前提下搞正确就必须待会儿安装好numpy1.11.1后要将numpy1.11.1下的文件夹numpy复制进我之前cmake时指定的PYTHON3_NUMPY的路径中。。。。其实这里心里清楚python2.7和python3.5用的都是Python3.5的numpy,不过我想此时应该不会错。因为我现在弄的Python3.5+OpenCV3.2,只不过是去python2.7的文件夹下读取自己的python3.5的numpy。。。有点绕哦,其实就是爸爸B和妈妈A要找自己的儿子,之前AB将自己的儿子numpy寄养在家庭C中,邻居D也有一个儿子叫numpy。AB非常需要自己的儿子,结果却去D中将numpy接回家(也就是我开始错误的原因),后来知道自己搞错了,于是去C中将自己的儿子接回来(正确))。
我暂时先用方法2,自己去官网下载了一个num1.11.1,然后python3 setup.py install ,结果: