如何通过MacPorts安装OpenCV的Python 2.7绑定

12 投票
3 回答
22775 浏览
提问于 2025-04-17 07:52

我在用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文件夹里):

第三步

创建下面的软链接(因为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/

撰写回答