Python docker изображение не находит opencv при установке с apt-get - PullRequest
0 голосов
/ 06 марта 2020

Мой Dockerfile:

FROM python:3.7

RUN apt-get update && apt-get install -y python3-opencv

Создайте его и получите следующий результат:

$ docker run -it myimage:opencv python3 -c "import cv2"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'

$ docker run -it hazopticnano:opencv python3 -c "import sys; print(sys.path)"
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']

Внутри контейнера:

$ ls usr/lib/python3/dist-packages/
cv2.cpython-37m-x86_64-linux-gnu.so  numpy  numpy-1.16.2.egg-info  pkg_resources

Если я запусту это, это будет работать:

$ ln -s /usr/lib/python3/dist-packages/* /usr/local/lib/python3.7/dist-packages/

Есть ли способ, которым я могу сделать эту работу "из коробки", не выполняя последнюю команду?

1 Ответ

0 голосов
/ 07 марта 2020

Как сказал @ klaus-d python устанавливается из источника, а не через менеджер пакетов. См. https://github.com/docker-library/python/blob/master/3.7/buster/Dockerfile.

Возможно, вы решите использовать pip (который должен хорошо работать на разных архитектурах) или go с образом debian, а также установить python через apt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...