如何在OSX上正确安装Python以用于OpenCV?
我花了几天时间想让opencv在我的Python 2.7上运行。每次我尝试“import cv”时,都会出现一个错误,提示找不到opencv模块。
于是我决定试着用Macports来安装opencv,但这也没成功。
接着,我又试了Homebrew,但结果还是不行。
最后,我发现我需要修改PYTHONPATH,像这样: export PYTHONPATH="/usr/local/lib/python2.6/site-packages/:$PYTHONPATH"
我的问题是,我找不到/usr/local/lib/python2.*...等等这个文件夹。这个文件夹根本不存在。
所以我想问的是: 我该如何在OS X Snow Leopard上正确安装Python,以便它能和opencv一起工作呢?
非常感谢,
4 个回答
用Homebrew安装OpenCV
brew tap homebrew/homebrew-science
brew install opencv
设置Python环境
根据你安装的位置 - 默认的OS X
cd /Library/Python/2.7/site-packages/
或者 - 使用Homebrew安装的Python
cd /usr/local/lib/python2.7
然后创建一个符号链接
ln -s /usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages/cv.py cv.py
ln -s /usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages/cv2.so cv2.so
以上方法来源于一篇博客文章。
你需要使用你的python2.7版本来安装这个模块。把PYTHONPATH指向安装在2.6下的东西,然后在2.7下运行,这样做是不好的。
根据你想要的安装方式,可以执行类似 python2.7 setup.py
或 easy_install-2.7 opencv
这样的命令来进行安装。
顺便说一下,在OS X系统上,模块通常会安装在 /System/Library/Frameworks/Python.framework/ 这个地方,但你几乎不需要知道你安装的包具体在哪里。如果Python找不到这些模块,那说明你安装的时候出了问题。
我花了几天时间在这个问题上。对我来说,问题在于OpenCV的安装程序没有找到正确的Python版本。它默认使用了MacOS自带的Python版本,尽管我已经通过homebrew升级了Python,并且在使用一个虚拟环境(virtualenv)。我把我的大部分设置整理在这里,方便大家查看: https://gist.github.com/4150916
可以使用homebrew来安装所有需要的依赖项,但之后要下载OpenCV的压缩包,并自己编译,确保指定所有与Python相关的配置选项。
假设你有一个名为'opencv'的虚拟环境……
cd OpenCV-2.4.3/
mkdir release
cd release
cmake -D PYTHON_EXECUTABLE=$WORKON_HOME/opencv/bin/python \
-D PYTHON_PACKAGES_PATH=$WORKON_HOME/opencv/lib/python2.7/site-packages \
-D INSTALL_PYTHON_EXAMPLES=ON\
-D PYTHON_INCLUDE_DIR=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Headers\
-D PYTHON_LIBRARY=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib\
..
make -j8
make install