2016-08-02 200 views
2

我非常认真地关注了这个makefile,并且它完成得很好。在Fedora 24上安装OpenCV for Python 3

在CMake的输出,也就是:(用于构建)蟒蛇:2.7代替3.5

但我读here我引述:

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

但之后我完成编译和安装:

$ python3 

> import cv2 

ImportEr ror:没有名为'cv2'的模块

我做错了什么?我是否需要指定PYTHON3_PACKAGES_PATH,PYTHON3_LIBRARY,PYTHON3_INCLUDE_DIR?我想在系统中安装OpenCV,因此我可以将它符号链接并用于任何可能需要opencv的virtualenv。提前致谢。

+0

我从来没有使用过opencv,但是它安装在我的Fedora 24上。为什么不简单地'dnf install opencv'? – skytux

+0

@skytux感谢您的评论,并为Python 2安装它我假设,我需要Python 3 – gglasses

+0

你是对的!对不起,噪音... – skytux

回答

1

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

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

然后,我还需要告诉蟒蛇,其中模块,因为这又是不是在默认路径,所以我的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/'] 

希望这有助于弄清楚你的问题!

+1

你在评论和答案中教会了我很多东西!我甚至不知道你可以改变编译程序应该安装的目录。我现在安装了它,是的,整个问题是设置图书馆的路径。现在唯一剩下的就是将这个永久添加到'.bashrc'中!再次感谢! – gglasses

+0

很高兴工作!不用谢 :) – skytux