标题三个英文名词,其实也代表了很多软件开发的组合:操作系统+开源软件+命令终端。
在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
中其实可以忽略了。