mac + python3.6 安装openCV

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012282037/article/details/79808693

环境:mac+python3.6

前言:如果不想折腾,直接使用anoconda,里面集成了openCV。

但对于我而言,mac上空间不多了。安装anoconda要占大概2G,于是就放弃了。

这是一个曲折的过程,最后终于成功了。我一开始是参考这篇文章的,但是有太多的坑了,比如,它一开始让运行:

brew tap xxxxxx

但是直接报depricated,说明这种方式已经out了。

还有什么各种参数 --without-python3什么的,但是brew压根识别不出来这些参数。

想要安装成功的话,就不要按网上的大多数教程了,直接使用我推荐的下面的方法(默认已经安装了brew与python3.6):


参考:https://www.learnopencv.com/install-opencv3-on-macos/


安装过程如下:

1.运行 brew install opencv

如果以前安好了却不是最近版本,请运行brew update opencv

2.

Add OpenCV’s site-packages path to global site-packages

When brew is done compiling and installing OpenCV3, we will update path of site-packages directory which contains cv2.so file to Homebrew Python’s site-packages directory. Depending upon the Python version you have (2.6/2.7 or 3.5/3.6) these paths would be different.

因为是python3.6,运行:

echo /usr/local/opt/opencv/lib/python3.6/site-packages >> /usr/local/lib/python3.6/site-packages/opencv3.pth
3. 

Make OpenCV3 Python symlink in our virtual environment

Path to OpenCV’s Python library will be different depending upon which Python version you have. Double check the exact path and filename on your machine. Use this command to find out the path on your machine.

运行下面的代码:

cd /usr/local/lib/python3.6/site-packages/

ln -s /usr/local/opt/opencv3/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so cv2.so

运行完之后,该文件夹下面多出了一个so文件:


综合上面步骤,在命令行里运行的过程如下:

brew install opencv

echo /usr/local/opt/opencv/lib/python3.6/site-packages >> /usr/local/lib/python3.6/site-packages/opencv3.pth

cd /usr/local/lib/python3.6/site-packages/

ln -s /usr/local/opt/opencv3/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so cv2.so

安装成功后,可以成功运行:


======================================

看起来,已经可以成功import cv2了

但还有问题,如果你切换到另一个目录下运行,会提示 no module named blabla.....

解决方法如下:

打开.bash_profile并编辑:

vi ~/.bash_profile

在下面加上这样一句并保存:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/site-packages


这样你在任何目录下都可以成功运行import cv2了。

我们打开jupyter-notebook,可以成功运行:

======================================

到现在为止,万事似乎已经大吉。但我又发现了新的问题

在pycharm中死活不能成功运行,一直提示no modules……

解决方法:

添加环境变量:

新建一个PYTHONPATH,它的值为/usr/local/lib/python3.6/site-packages


到现在为止,pycharm可以成功运行cv2了。。。

花了一晚上,终于解决了这么多问题。

最终只剩下一个了,在pycharm中不能使用提示功能。

=============================================

更新:

最终参考这篇文章:

https://segmentfault.com/a/1190000004649532

按照这个方法:

首先切换到:

cd ~/Library/Python/3.6/lib/python/site-packages

然后添加软链接:

ln -s /usr/local/opt/opencv3/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so cv2.so

最终pycharm终于能识别cv2了!!!!!


猜你喜欢

转载自blog.csdn.net/u012282037/article/details/79808693