如何通过MacPorts安装OpenCV的Python 2.7绑定
我在用Python尝试“import cv”时,出现了“ImportError: No module named cv”的错误。这个问题有很多人问过,但我还没找到能解决的答案。
在我的Mac OS X Lion上,我安装了很多其他的库,我运行了:
sudo port install python27
还有
sudo port install opencv +python27
接着我运行:
port select python
我看到:“python27 (active)”
然后我运行:
port installed opencv
我看到:“opencv @2.3.1a_1+python27 (active)”
我还应该检查什么呢?谢谢。
3 个回答
-2
我在想,你是不是在OSX版本的Python上安装了opencv,而不是通过macports来安装。
你试过用easy_install吗?我通常用easy_install来安装这些软件包。
/opt/local/bin/easy_install-2.7 opencv
2
第一步
使用Macports来安装opencv。
第二步
把这两个文件放到你的PYTHONPATH
中的某个地方(比如放在site-packages
文件夹里):
- https://github.com/jonmrodriguez/opencv-2.3-new-python-bindings/blob/master/cv.py
- https://github.com/jonmrodriguez/opencv-2.3-new-python-bindings/blob/master/cv2.so
第三步
创建下面的软链接(因为cv2.so
需要在/usr/local
找到一些库文件,但MacPorts安装在/opt/local
):
cd /usr/local/lib/
ln -s /opt/local/lib/libopencv_core.2.3.dylib libopencv_core.2.3.dylib
ln -s /opt/local/lib/libopencv_flann.2.3.dylib libopencv_flann.2.3.dylib
ln -s /opt/local/lib/libopencv_imgproc.2.3.dylib libopencv_imgproc.2.3.dylib
ln -s /opt/local/lib/libopencv_video.2.3.dylib libopencv_video.2.3.dylib
ln -s /opt/local/lib/libopencv_ml.2.3.dylib libopencv_ml.2.3.dylib
ln -s /opt/local/lib/libopencv_features2d.2.3.dylib libopencv_features2d.2.3.dylib
ln -s /opt/local/lib/libopencv_highgui.2.3.dylib libopencv_highgui.2.3.dylib
ln -s /opt/local/lib/libopencv_calib3d.2.3.dylib libopencv_calib3d.2.3.dylib
ln -s /opt/local/lib/libopencv_objdetect.2.3.dylib libopencv_objdetect.2.3.dylib
ln -s /opt/local/lib/libopencv_legacy.2.3.dylib libopencv_legacy.2.3.dylib
ln -s /opt/local/lib/libopencv_contrib.2.3.dylib libopencv_contrib.2.3.dylib
20
我也遇到过这个问题。看起来是OpenCV 2.3.1a的安装脚本可能有个小bug。它不会创建Python的绑定,除非你先安装了NumPy。
要解决这个问题:
sudo port uninstall opencv
sudo port install py27-numpy
sudo port install opencv +python27
这个方法对我有效!我是在网上搜索后找到的,正确的答案在这里: wbarczynski.org/wp/2011/11/25/opencv-with-py-bindings-on-mac-with-macports-intall-numpy-first/