Как получить OpenCV, чтобы обнаружить Python, установленный с Conda в докере

Я создал файл docker из нескольких источников, но продолжаю сталкиваться с проблемой, что при сборке opencv он не найдет python.

Я добавил докер-файл в https://gist.github.com/pksorensen/e06a783c31d4e95e60f1376baa8d562e в качестве поста, чтобы начать ограничение лимита.

Проблема показывает в конце, когда cv2 не доступен из Python

chainer@cbd2c9c51a21:/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'
>>>

Я прихожу к выводу, что это из-за использования conda и opencv из двух файлов докеров, и я предполагаю:) Очень признателен, если кто-то может поделиться некоторым светом о том, что я делаю неправильно?

Выходные данные с шага cmake находятся здесь https://gist.github.com/pksorensen/e06a783c31d4e95e60f1376baa8d562e

1 ответ

Использование переменных 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
Другие вопросы по тегам