我非常仔细地遵循了这一点makefile而且,它完成得很好。
在CMake输出上,有: python(用于构建):2.7 而不是 3.5
但我读了here并引用:
您可以忽略“for build”部分,即CMake脚本的那一部分 马车。
但是在我完成编译和安装之后:
$ python3
> import cv2
ImportError:没有名为'cv2'的模块
我做错了什么?我需要指定PYTHON3_PACKAGES_PATH,PYTHON3_LIBRARY,PYTHON3_INCLUDE_DIR吗?我想安装OpenCV系统,所以我可以对其进行符号链接,并在任何我可能需要opencv的virtualenv中使用它。提前谢谢。
答案 0 :(得分:1)
经过一些评论后,我认为您的问题可能在于设置库的路径。因此,在编译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/']
希望这有助于找出问题所在!