Mac下Opencv的zsh环境变量设置

标题三个英文名词,其实也代表了很多软件开发的组合:操作系统+开源软件+命令终端。

mac平台,使用oh-my-zsh配和iTerm2打造的命令终端体验相当好。最近想折腾opencv,于是买了本书准备学习。

安装环境就因为opencv的依赖被墙,一时没有仔细看错误,重试了好几次,最后开代理才成功安装。

可是在使用opencv的时候,会抛出一个python错误

No module named cv2

究其原因,是因为python并没有找到所安装opencv库。参考了Face Detection With OS X and Python ,为了重建opencv和python的友谊小船,需要设置一个PYTHONPATH这个环境变量。

在命令行下运行:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

再运行测试脚本,再也没有出现cv2的错误了。可是,一旦重启命令终端,又得重新export。为了一劳永逸,我们可以PYTHONPATH追加到全局的环境变量中。

mac下设置环境变量的方式有多种,一种常用的方法就是不改动的系统的环境变量,只改变当前登录用户的环境变量。即$HOME目录下的.bash_profile。编辑.bash_profile文件并增加如下内容:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

我用的是python2.7版本,然后激活修改

source .bash_profile

重启iTerm2,运行脚本的时候,发现依然没有cv2模块,再echo $PYTHONPATH同样没有打印出我们修改的路径。

可见 .bash_profile 里的设置并没有效果。Google之后并学习了Mac OS X 中 Zsh 下 PATH 环境变量的正确设置。

编辑 '.zshrc'文件,在后面追加

export PYTHONPATH="/usr/local/lib/python2.7/site-packages/:$PYTHONPATH"

然后source激活一下即可。

既然设置了 .zshrc的环境变量,.bash_profile中其实可以忽略了。

你可能感兴趣的:(Mac下Opencv的zsh环境变量设置)