无法使用Python2支持构建OpenCV 3

时间:2014-11-12 15:12:50

标签: python opencv3.0

我尝试使用CMake-gui为Ubuntu 14.04构建带有python支持的opencv 3(使用cuda)。

从Python控制台开始编译似乎工作正常:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2

我尝试启用或禁用python3而不做任何更改。这里是cmakeCache.txt is

有什么想法解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

自昨天以来我遇到了同样的问题,我解决了以下问题:

  1. 下载OpenCV 3(beta,rc1)并安装所有必需的依赖项,包括Python dev包。
  2. 打开Cmake GUI。
  3. 激活分组复选框。
  4. 选择OpenCV源和构建目录(或者如果先前已配置,则删除缓存)。
  5. 配置。选择您喜欢的发电机。
  6. 选中/取消选中您需要的选项(OpenGL支持,TBB等)
    • 如果需要,可以在每次修改选项后按配置以查看是否失败。暂时忽略Python2选项。
  7. 配置完所有其他选项后,选择PYTHON2组并使用删除条目将其删除。
  8. 配置。 PYTHON2组将重新出现,呈红色。不要再做任何改动,只需按生成
  9. 现在你可以通常的方式进行/编译。 cv2.so文件将在build / lib /目录中创建。使用make install,它将安装在Python 2中。

    如果它仍然不起作用,问题可能就在其他地方。在步骤8之后,cmake输出必须包含行(实际路径在您的情况下可能不同):

    Python 2:
        Interpreter:                 /usr/bin/python2.7 (ver 2.7.6)
        Libraries:                   /usr/lib/i386-linux-gnu/libpython2.7.so (ver 2.7.6)
        numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
        packages path:               lib/python2.7/dist-packages
    

    在任何情况下都不能有一行说不,如:

    Python 2:
        Interpreter:                 /usr/bin/python2.7 (ver 2.7.6)
        Libraries:                   NO
        numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
        packages path:               lib/python2.7/dist-packages
    

    希望这有帮助。

答案 1 :(得分:1)

如果它编译得很好,那么探测器不是cmake或你的构建选项的设置方式。问题似乎不是python2或3,而是你安装OpenCV的方式。编译OpenCV之后,你必须将你的opencv python模块移动到/ usr / local / lib或者python不能看到它们。