我正在尝试在Raspberry Pi 4的Dockerfile中安装dlib。
在Docker之外,我可以通过运行
在Pi上安装dlibpip3 install --upgrade dlib
但是当我尝试在Dockerfile中执行以下操作时:
FROM resin/raspberry-pi-python:3
COPY raspi.list /etc/apt/sources.list.d/raspi.list
COPY sources.list /etc/apt/sources.list
COPY pip.conf /root/.pip/pip.conf
RUN apt-get -y update
RUN apt-get install -y --fix-missing \
build-essential \
cmake \
libopenblas-dev \
liblapack-dev \
libatlas-base-dev \
libx11-dev \
libgtk-3-dev \
gfortran \
git \
wget \
curl \
graphicsmagick \
libgraphicsmagick1-dev \
libatlas-dev \
libavcodec-dev \
libavformat-dev \
libboost-all-dev \
libgtk2.0-dev \
libjpeg-dev \
liblapack-dev \
libswscale-dev \
pkg-config \
python3-dev \
zip \
&& apt-get clean && rm -rf /tmp/* /var/tmp/*
RUN python3 -m ensurepip --upgrade
RUN pip3 install --upgrade dlib
尝试构建docker映像时出现错误:
第9/12步:运行pip3 install --upgrade dlib --->在 bf5fa67b254d查看索引: http://mirrors.aliyun.com/pypi/simple/收集dlib下载 http://mirrors.aliyun.com/pypi/packages/05/57/e8a8caa3c89a27f80bc78da39c423e2553f482a3705adc619176a3a24b36/dlib-19.17.0.tar.gz (3.4MB)安装收集的软件包:dlib运行setup.py install 对于dlib:已启动 为dlib运行setup.py install:状态为“错误” 从命令/usr/local/bin/python3.6 -u -c“ import setuptools,完成输出, tokenize; 文件 ='/ tmp / pip-install-sak074zk / dlib / setup.py'; f = getattr(tokenize,'open',open)(文件) ; code = f.read()。replace('\ r \ n', '\ n'); f.close(); exec(compile(code, file ,'exec')))“安装 --record /tmp/pip-record-7yn41l3u/install-record.txt-单一版本-外部管理-编译: 运行安装 运行构建 运行build_py 找不到程序包初始化文件“ dlib / init .py”(或非常规文件) 运行build_ext 追溯(最近一次通话): 文件“”,第1行,位于 在第261行的“ /tmp/pip-install-sak074zk/dlib/setup.py”文件中 “主题::软件开发”, 文件“ /usr/local/lib/python3.6/site-packages/setuptools/init.py”,行 129,设置中 返回distutils.core.setup(** attrs) 安装程序中的文件“ /usr/local/lib/python3.6/distutils/core.py”,第148行 dist.run_commands() 在run_commands中的第955行,文件“ /usr/local/lib/python3.6/distutils/dist.py” self.run_command(cmd) 在run_command中的文件“ /usr/local/lib/python3.6/distutils/dist.py”,第974行 cmd_obj.run() 文件“ /usr/local/lib/python3.6/site-packages/setuptools/command/install.py”, 61行,运行中 返回orig.install.run(自身) 运行中的文件“ /usr/local/lib/python3.6/distutils/command/install.py”,第545行 self.run_command('build') 在run_command中的文件“ /usr/local/lib/python3.6/distutils/cmd.py”,第313行 self.distribution.run_command(命令) 在run_command中的文件“ /usr/local/lib/python3.6/distutils/dist.py”,第974行 cmd_obj.run() 运行中的文件“ /usr/local/lib/python3.6/distutils/command/build.py”,第135行 self.run_command(cmd_name) 在run_command中的文件“ /usr/local/lib/python3.6/distutils/cmd.py”,第313行 self.distribution.run_command(命令) 在run_command中的文件“ /usr/local/lib/python3.6/distutils/dist.py”,第974行 cmd_obj.run() 运行中的文件“ /tmp/pip-install-sak074zk/dlib/setup.py”,第129行 cmake_version = self.get_cmake_version() get_cmake_version中的文件“ /tmp/pip-install-sak074zk/dlib/setup.py”,第120行 out = subprocess.check_output(['cmake','--version']) 在check_output中的文件“ /usr/local/lib/python3.6/subprocess.py”,行336 ** kwargs).stdout 运行中的文件“ /usr/local/lib/python3.6/subprocess.py”,第418行 输出=标准输出,标准错误=标准错误) subprocess.CalledProcessError:命令'['cmake','--version']'死于。
命令“ /usr/local/bin/python3.6 -u -c”导入设置工具, tokenize; 文件 ='/ tmp / pip-install-sak074zk / dlib / setup.py'; f = getattr(tokenize,'open',open)(文件) ; code = f.read()。replace('\ r \ n', '\ n'); f.close(); exec(compile(code, file ,'exec')))“安装 --record /tmp/pip-record-7yn41l3u/install-record.txt-“单一版本-外部管理的--compile”在/ tmp / pip-install-sak074zk / dlib /中失败,错误代码为1点版本10.0.1, 但是版本19.2.3可用。您应该考虑通过升级 'pip install --upgrade pip'命令。命令'/ bin / sh -c pip3 install --upgrade dlib'返回了非零代码:1
我想念什么?
答案 0 :(得分:0)
通过将基本图像更改为 从树莓派/拉伸
# get base image
FROM raspbian/stretch
RUN apt-get -y update
RUN apt-get install -y --fix-missing \
build-essential \
cmake \
libopenblas-dev \
libblas-dev \
liblapack-dev \
libatlas-base-dev \
libx11-dev \
libgtk-3-dev \
gfortran \
git \
wget \
curl \
graphicsmagick \
libgraphicsmagick1-dev \
libavcodec-dev \
libavformat-dev \
libboost-all-dev \
libgtk2.0-dev \
libjpeg-dev \
liblapack-dev \
libswscale-dev \
pkg-config \
python3-dev \
python3-numpy \
python3-pip \
software-properties-common \
zip \
&& apt-get clean && rm -rf /tmp/* /var/tmp/*
RUN pip3 install setuptools --upgrade
RUN pip3 install cython --upgrade
#Install dlib
RUN cd ~ && \
mkdir -p dlib && \
git clone -b 'v19.9' --single-branch https://github.com/davisking/dlib.git dlib/ && \
cd dlib/ && \
python3 setup.py install --yes