2017-08-15 52 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