【发布时间】:2020-03-06 15:10:46
【问题描述】:
最近我开始使用 Docker,我成功地构建了一些图像,以运行我使用 OpenCV 的 python 脚本。
现在,我想在我的 Raspberry Pi3B+ 上部署这些映像,但我无法在 Pi 上构建它们。我还尝试推送我在我的 Ubuntu 笔记本电脑上成功构建的镜像,然后继续使用 Pi 并拉取镜像以从中运行容器,但它也不起作用。
我发现原因是我所做的只是试图在 armv7 arch(我的 Pi)上使用 amd64 arch(我的笔记本电脑)映像,从而导致某种冲突。
然后我在 Docker Hub 上尝试了一些为 armv7 创建的基础镜像,例如:arm32v7/python:3.6,这是我的 Dockerfile:
FROM arm32v7/python:3.6
RUN apt-get -y update && apt-get -y upgrade \
&& apt-get install -y python3-pip \
python3-numpy \
libblas-dev \
liblapack-dev \
python3-dev \
libatlas-base-dev \
gfortran \
python3-setuptools \
python3-scipy \
&& apt-get -y update \
&& apt-get -y install python3-h5py \
libsm6 \
libxext6 \
libxrender-dev
RUN pip3 install scipy \
cython \
keras \
opencv-python \
scikit-image
COPY cut.py detect.py c9_0_04_46_23_0.jpg /opt/
COPY MODEL /opt/MODEL
RUN mkdir -p /opt/anh_cut
WORKDIR /opt/
ENTRYPOINT ["python3", "cut.py"]
OpenCV 安装步骤出错:
找不到满足opencv-python要求的版本
我还尝试将pip config 替换为:
[global]
extra-index-url=https://www.piwheels.org/simple
这是一个arm架构的预编译包存储库,但同样的问题仍然存在。
我有什么办法可以解决这个问题吗?如果没有,我可以在我的笔记本电脑上交叉编译 OpenCV 然后复制到 Dockerfile 吗?如果我能有一些文件可以参考就好了,谢谢。
【问题讨论】:
标签: python docker opencv raspberry-pi3