Мой 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/
Есть ли способ, которым я могу сделать эту работу "из коробки", не выполняя последнюю команду?