在Ubuntu 12.04中安装OpenCV for Python。 dist-packages或site-packages中没有模块?

按照这里给出的步骤,我已经完成了安装过程,但是Python(IDLE)给了我一个ImportError。 本指南build议:

Python可能会返回一个像“ No module named cv ”这样的错误。问题是python模块安装在/usr/local/lib/python2.6/site-packages 。 但是,在Debian和Ubuntu上,Python仅查找/usr/local/lib/python2.6/dist-packages

您可以使用三种方法解决问题(只使用其中一种,第一种是最好的):

  1. cv.so文件从site-packages移到dist-packages

    sudo mv /usr/local/lib/python2.6/site-packages/cv.so /usr/local/lib/python2.6/dist-packages/cv.so

但是,2.7和3.2的站点包和dist-packages都是空的。

出了什么问题,我该如何解决?

我通过使用软件中心再次安装所有软件包和依赖项解决了这个问题。 OpenCV Python绑定可直接从我第二次使用的软件中心获得OpenCV 2.3和Python 2.7。

3.2的OpenCv python绑定在12.04中不可用。 他们正在为Raring(Ubuntu 13.04)开发。 因此,解决方案是使用backports,或者在Python 2.7上使用OpenCv

后端也有一个问题,因为它们只适用于32位操作系统而不是64位。

所以,在Ubuntu上运行OpenCV Python的唯一安全稳定的方法似乎是在Python 2.7上使用OpenCV 2.3

我还得到了OpenCV2.4.4和Ubuntu 12.04的空dist-packages文件夹。 事实证明,我需要安装python-devpython-numpy ,以便将cv.so编译成dist-packages。

 sudo apt-get install python-dev python-numpy 

之后,使用cmake再次构建OpenCV,一切都会好的

更新它取决于你的系统非常多。

  • 在我的Lion(10.8)上,我安装了java,openCV有关无法建立单元测试的投诉,停止在92%。 事实证明,我必须手动创建build文件夹,并将junit jar放到lib文件夹中,以便让opencv编译所有的测试用例。 之后,一切都好
  • 在我的Ubuntu(12.04,新的安装与建设必不可少的和所有软件包是最新的),eveything编译好,除了“没有模块命名CV”,并没有cv.so dist-packagessite-packages 。 搜索,最后,事实证明,我必须有python-dev和python-numpy