mac 环境下给虚拟目录 Virtualenv 的 tensorflow 安装 opencv

参考原文:
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 。可以在

https://github.com/Homebrew

上查看其他的子软件包。

第四步:安装 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__

显示版本号,搞定!

    原文作者:何京平
    原文地址: https://www.jianshu.com/p/672a96386b01
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞