最近想用Python
中的OpenCV
模块做一些SLAM
三角化等问题,实践出(踩)真(深)知(坑),我的平台是Mac OS X
,之前就用homebrew
、pip
安装了OpenCV2
、OpenCV3
、Python
等,IDE采用PyCharm
,在实际写代码的时候,出现了一些错误。一一记录如下
首先
No module named cv2
Google解之,这个问题主要是Python
的环境变量问题与OpenCV
的导入问题
我们需要做的是创造OpenCV的一个软连接,找到当前版本的OpenCV的python2.7/site-packages,这个文件下会有一个cv2.so的文件,我的opencv版本是2.4.13.6_2,所有在/Library/Python/2.7/site-packages文件夹下运行如下命令:
cd /Library/Python/2.7/site-packages
sudo ln -s usr/local/Cellar/opencv@2/2.4.13.6_2/lib/python2.7/site-packages/cv.py cv.py
sudo ln -s usr/local/Cellar/opencv@2/2.4.13.6_2/lib/python2.7/site-packages/cv2.so cv2.so
最后配置环境变量,在.bash_profile中添加变量
(PS:我的Terminal
是用的Oh My ZSH!
)
于是就需要在.bash_profile
或者.zshrc
中添加变量,如果home目录
下原本不存在这两个文件,则就需要自己新建一个。
以bash为例:
cd ~
touch .bash_profile
open -e .bash_profile
在.bash_profile 中输入
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
再保存环境变量。
source .bash_profile
在Python
命令行,import cv2
没有报错,就说明没有问题了,但是在PyCharm
中依然显示红线,这时需要在run ->Edit configuration ->Behave 中添加环境变量
网友评论