簡體   English   中英

使用apt-get安裝時,Python docker鏡像找不到opencv

[英]Python docker image doesn't find opencv when installed with apt-get

我的 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/

有沒有一種方法可以使這項工作“開箱即用”,而無需運行最后一個命令?

正如@klaus-d 所說,python 是從源代碼安裝的,而不是通過包管理器安裝的。 請參閱https://github.com/docker-library/python/blob/master/3.7/buster/Dockerfile

您可以選擇使用 pip(它應該可以在不同的體系結構上正常工作)或使用 debian 映像並通過 apt 安裝 python。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM