参考原文:
http://blog.csdn.net/mangdunjian1270/article/details/78556485
本文在以下环境测试成功:macOS Sierra 10.12.6
本文适用于:
Tensorflow安装在虚拟目录 Virtualenv 下 & pyhton3.6
第一步:安装 Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第二步:更新 Homebrew
brew update
第三步:下载 brew 的子软件包, homebrew/science
brew tap homebrew/science
备注:因为我们常用的是 brew 的主包,当涉及一些不太常用的包时,就需要先下载 brew 的子软件包,比如 homebrew/science,然后再安装 opencv 。可以在
上查看其他的子软件包。
第四步:安装 opencv
brew install opencv
作者在此处安装的opencv版本是3.3.1,版本号不一样,后面的路径就有所区别,请注意。
第五步:制作软链接(分别在真机和虚拟环境下)
注意:
1、在Python2.x版本中,请直接用下面的命令,但注意要把python3.6改为相应的版本,如python2.7
2、在Python3.5+版本,需要将下文中的 site-packages 目录中的cv2.cpython-36m-darwin.so文件重命名为cv2.so,同时注意版本号
(推荐保留原文件做备份)
题外话:笔者的环境较复杂,本身有python2.7的环境,后面又自己装了python3.6,所以是并存的。结果在开始装的时候,将python2.7的cv2.so文件用到3.6里面,装完后报错,直到更改了cv2.cpython-36m-darwin.so文件,才解决问题。
#真机环境
cd /Library/Python/2.7/site-packages/
sudo ln -s /usr/local/Cellar/opencv/3.3.1_1/lib/python3.6/site-packages/cv.py cv.py
sudo ln -s /usr/local/Cellar/opencv/3.3.1_1/lib/python3.6/site-packages/cv2.so cv2.so
#虚拟环境(对应自己虚拟目录路径下的python)
cd /Users/你的用户名/env/tensorflow/lib/python3.6/site-packages/
sudo ln -s /usr/local/Cellar/opencv/3.3.1_1/lib/python3.6/site-packages/cv.py cv.py
sudo ln -s /usr/local/Cellar/opencv/3.3.1_1/lib/python3.6/site-packages/cv2.so cv2.so
第六步:配置环境变量,在.bash_profile中添加变量
cd ~
touch .bash_profile
open -e .bash_profile
在.bash_profile 中输入下面两行代码,然后保存环境变量。
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
export PYTHONPATH=$PYTHONPATH:/Users/你的用户名/env/tensorflow/lib/python3.6/site-packages/
最后控制台输入:
source .bash_profile
测试方法:
cd tensorflow
source ./bin/activate
python
import cv2
没有报错即显示成功;
不过瘾的话,继续输入:
cv2.__version__
显示版本号,搞定!