【发布时间】:2018-11-15 21:34:23
【问题描述】:
我尝试安装 opencv-contrib-python,但无法让它在 docker 上运行。它说 找不到满足 opencv-contrib-python 要求的版本
我试过了,
pip install opencv-contrib-python-headless
然后,我累了 https://github.com/cassiobotaro/docker-opencv-contrib/blob/master/Dockerfile 我也试过了,
FROM python:3.5-alpine
COPY . /app
WORKDIR /app
RUN apk add --no-cache ca-certificates
RUN apk add --no-cache git build-base musl-dev alpine-sdk cmake clang clang-dev make gcc g++ libc-dev linux-headers
RUN mkdir /tmp/opencv
WORKDIR /tmp/opencv
RUN wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.1.zip
RUN unzip opencv.zip
RUN wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.1.zip
RUN unzip opencv_contrib.zip
RUN mkdir /tmp/opencv/opencv-3.4.1/build
WORKDIR /tmp/opencv/opencv-3.4.1/build
RUN cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv/opencv_contrib-3.4.1/modules -D BUILD_DOCS=OFF BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python=OFF -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF ..
RUN make -j4
RUN make install
RUN rm -rf /tmp/opencv
RUN pip3 install -r requirements.txt
CMD ["app.py"]
但我无法让其中任何一个工作。请让我知道如何仅通过需求文件在 docker 中安装上述内容?
更多参考资料(我尝试过的事情): Unable to install/run docker with opencv
和
【问题讨论】:
-
当您搜索该错误时,您是否尝试过 google 建议的任何解决方案?关于 alpine 上遇到该错误的人,我得到了很多点击。即github.com/skvark/opencv-python/issues/75
-
在您的自定义镜像(不是 github 镜像)中,您使用的是哪个基础镜像?我一直在使用 python 3.6-slim 和 3.5-slim 没有问题。还有,github图片怎么了?
-
@C.Nivs 你好。我尝试了 3.5-slim,它已经安装了库,但是在运行 docker 时出现任何错误。 错误:ImportError:libgthread-2.0.so.0:无法打开共享对象文件:没有这样的文件或目录
-
@C.Nivs 运行 github docker image 时出现此错误:
-
@C.Nivs E: Unable to locate package libjasper-dev 命令'/bin/sh -c apt-get update && apt-get install -y build-essential cmake wget git unzip yasm pkg -config libjpeg-dev libtiff-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libatlas-base-dev gfortran libtbb2 libtbb-dev libpq-dev && apt-get -y clean all && rm - rf /var/lib/apt/lists/*' 返回一个非零代码:100