在 Fedora 24 上为 Python 3 安装 OpenCV

Installing OpenCV for Python 3 on Fedora 24

我很认真地跟了makefile,嗯,它完成得很好。

在 CMake 输出中,有这样的:python(构建):2.7 而不是 3.5

但我阅读了 here 并引用了:

You can ignore the “for build” section, that part of the CMake script is buggy.

但是我编译安装完成后:

$ python3

> import cv2

ImportError: 没有名为 'cv2'

的模块

我做错了什么?我需要指定 PYTHON3_PACKAGES_PATH、PYTHON3_LIBRARY、PYTHON3_INCLUDE_DIR 吗?我想在整个系统范围内安装 OpenCV,这样我就可以对它进行符号链接并在我可能需要 opencv 的任何 virtualenv 中使用它。提前致谢。

经过一些评论,我认为您的问题可能与设置库的路径有关。因此,在编译 OpenCV 之后(参见 here),我没有将它安装在系统的默认位置,而是将其安装在本地文件夹中(测试后更容易删除),所以我需要提供库的路径,这就是我这样做的原因:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/german/Programs/test-install/usr/local/lib

然后我还需要告诉 python 模块在哪里,因为它又不在默认路径中,所以我将 OpenCV 的路径附加到路径列表中:

$ python3
>>> import sys
>>> sys.path.append("/home/german/Programs/test-install/usr/local/lib/python3.5/site-packages/")

您可能需要在追加后检查您的 python 路径:

>>> sys.path
['',
 '/usr/bin',
 '/usr/lib64/python35.zip',
 '/usr/lib64/python3.5',
 '/usr/lib64/python3.5/plat-linux',
 '/usr/lib64/python3.5/lib-dynload',
 '/usr/lib64/python3.5/site-packages',
 '/usr/lib/python3.5/site-packages',
 '/usr/lib/python3.5/site-packages/IPython/extensions',
 '/home/german/.ipython',
 '/home/german/Programs/test-install/usr/local/lib/python3.5/site-packages/']

希望这有助于解决您的问题!