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

时间:2012-12-15 13:03:53

标签: linux opencv python-3.x installation python-3.2

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

  

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.   

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

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

2 个答案:

答案 0 :(得分:4)

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

3.2的OpenCv python绑定不适用于12.04。它们仅为Raring(Ubuntu 13.04)开发。因此,解决方案是使用反向端口,或在Python 2.7上使用OpenCv

Backports也存在问题,因为它们仅适用于32位操作系统而非64位。

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

答案 1 :(得分:2)

我还使用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%。事实证明,我必须手动创建构建文件夹并将junit jar放入lib文件夹,以便让opencv编译所有测试用例。在那之后,一切都很好
  • 在我的ubuntu上(12.04,使用build-essential和所有软件包的全新安装是最新的),eveything编译正常,除了“没有名为cv的模块”并且{{{没有cv.so 1}}和dist-packages。搜索周围然后最后,事实证明我必须有python-dev和python-numpy