Как получить 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