2016-08-02 192 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