如何使用MacPorts为OpenCV安装Python 2.7绑定

时间:2011-12-07 04:36:56

标签: python opencv osx-lion macports

当尝试在python中“导入cv”时,我得到:“ImportError:没有名为cv的模块”。这个问题以多种形式出现,但我没有找到有帮助的答案。

在我的Mac OS X Lion上,在许多其他端口中,我已经运行:

sudo port install python27

sudo port install opencv +python27

运行:

port select python

我看到:“python27(主动)”

跑步:

port installed opencv

我看到:“opencv @ 2.3.1a_1 + python27(active)”

我还应该检查什么?感谢。

3 个答案:

答案 0 :(得分:19)

我有同样的问题。对于2.3.1a的OpenCV安装脚本,它看起来像(可能是?)错误。除非已经安装了NumPy,否则它不会创建Python绑定。

修复它:

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 /

答案 1 :(得分:2)

第一步

使用Macports安装opencv。

第二步

将这两个文件放在PYTHONPATH的某个位置(例如在site-packages中):

第三步

创建以下软链接(因为cv2.so期望dylib位于/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

答案 2 :(得分:-2)

我想知道你是否已经安装了opencv到OSX版本的python而不是macports。

您是否尝试过轻松安装,我通常使用easy_install来安装软件包。

/opt/local/bin/easy_install-2.7 opencv