我非常仔细地遵循了这个makefile,它完成得很好。
在CMake输出中,有这样一个:python(用于构建):2.7而不是3.5
但我在这里阅读并引用:
您可以忽略CMake脚本的"for build"部分是有缺陷的。
但在我完成编译和安装之后:
$ python3
> import cv2
ImportError:没有名为"cv2"的模块
我做错了什么?我需要指定PYTHON_3_PACKAGES_PATH、PYTHON3_IBRARY、PYTHNO_3_INCLUDE_DIR吗?我想在系统范围内安装OpenCV,这样我就可以将其符号链接,并在我可能需要OpenCV的任何虚拟机中使用它。提前谢谢。
经过一些评论,我认为您的问题可能是设置库的路径。因此,在编译OpenCV(见此处)后,我没有将其安装在系统上的默认位置,而是将其安装到本地文件夹中(测试后更容易删除),因此我需要提供库的路径,这就是我这样做的原因:
$ 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/']
希望这能帮助你解决问题!