2017-08-15 81 views
0

我已經編寫了幾個源碼的docker文件,但仍然遇到了構建opencv時遇到的問題,它不會找到python。如何讓OpenCV檢測docker中使用conda安裝的python

我將dockerfile添加到https://gist.github.com/pksorensen/e06a783c31d4e95e60f1376baa8d562e作爲帖子開始達到限制。

的問題顯示了在結尾時CV2不是蟒蛇avaible

[email protected]:/src/image-labelling-tool/examples/ssd$ python 
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'cv2' 
>>> 

我得出的結論是,它由於使用暢達和OpenCV的兩個碼頭工人的文件和我猜很多:)如果有人能分享我在做什麼錯誤?從cmake的一步

輸出是這裏https://gist.github.com/pksorensen/e06a783c31d4e95e60f1376baa8d562e#file-out-txt

+0

它看起來像你安裝'opencv'而'conda'尚未安裝。 'cmake'的輸出表明它安裝在'python 3.4.3'上。然後你安裝了'conda',它是'3.5.2',你期望'opencv'就在那裏。嘗試運行'/ usr/bin/python3.4'並查看是否可以從那裏導入cv2。 – alvits

+0

woops。咋,我會重新排列它,然後再試一次 –

+0

我用opencv最後更新了docker文件,但它給出了相同的結果。 python不工作 –

回答

0

使用PYTHON3變量解決了這個問題。

-D PYTHON3_LIBRARY=$CONDA_DIR/lib/python3.5 \ 
-D PYTHON3_INCLUDE_DIRS=$CONDA_DIR/include/python3.5m \ 
-D PYTHON3_EXECUTABLE=$CONDA_DIR/bin/python3 \ 
-D PYTHON3_PACKAGES_PATH=$CONDA_DIR/lib/python3.5/site-packages \ 

-- Python 3: 
--  Interpreter:     /opt/conda/bin/python3 (ver 3.6.2) 
--  Libraries:     /opt/conda/lib/python3.5 (ver 3.6.2) 
--  numpy:      /opt/conda/lib/python3.6/site-packages/numpy/core/include (ver 1.13.1) 
--  packages path:    /opt/conda/lib/python3.5/site-packages