我是Docker的新手,目前正尝试通过安装python软件包及其库来创建Dockerfile,如下所示:
df_learn['col3']
但是,当我尝试推送此Dockerfile时,错误是通过
生成的FROM balenalib/fincm3-debian-python:latest
# RUN install_packages git
RUN apt-get update && apt-get install python \
&& apt-get install pip3 \
apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev \
pip3 install pyaudio \
pip3 install numpy \
pip3 install matplotlib \
pip3 install scipy \
pip3 install librosa \
# Set our working directory
WORKDIR /usr/src/app
COPY Recorder.py /usr/src/app
# Recorder.py will run when container starts up on the device
CMD ["python","/usr/src/app/Recorder.py"]
答案 0 :(得分:0)
在requirements.txt中移动python包并安装python3-pip可与python:3基本映像一起使用。
# RUN install_packages git
RUN apt-get update \
&& apt-get install -y python \
&& apt-get install -y python3-pip
RUN pip install -r requirements.txt
答案 1 :(得分:0)
您要查找的软件包称为python3-pip
。
接下来,您既需要&&
(以分隔命令)又需要\
(以继续命令行)。因此,总而言之,应该是:
FROM balenalib/fincm3-debian-python:latest
RUN apt-get update && apt-get install python && \
apt-get install -y \
python3-pip libportaudio0 libportaudio2 libportaudiocpp0 \
portaudio19-dev && \
pip3 install pyaudio numpy matplotlib \
scipy librosa
# Set our working directory
WORKDIR /usr/src/app
COPY Recorder.py /usr/src/app
# Recorder.py will run when container starts up on the device
CMD ["python","/usr/src/app/Recorder.py"]
答案 2 :(得分:0)
我相信此Dockerfile中存在多个问题,并且将所有命令与&& and \
组合在一起时,您不知道哪个命令触发了错误。我建议将它们拆分以用于调试目的,当它们全部起作用时,您可以将它们放在一起。一旦理解了每个错误,就更容易检查和解决它们。这个问题有重要信息:how to install pip in docker
尝试一下:
1-程序包触发了Y / n个问题,请给-y以确保其通过
2-使用反斜杠指代新命令,应使用&&,反斜杠指代换行,可以使用\,然后使用&&
3- pip3
和libportaudio0
软件包不存在。
E: Unable to locate package libportaudio0
我发现了这样的错误,即分割Dockerfile并消除了提到的问题 :
RUN apt-get update
RUN apt-get install python -y\
&& apt-get install python3-pip -y
RUN apt-get install libportaudio2 libportaudiocpp0 portaudio19-dev -y
RUN pip3 install pyaudio numpy matplotlib \
scipy librosa
如果要将命令放在一起:
RUN apt-get update \
&& apt-get install python -y \
&& apt-get install python3-pip -y \
&& apt-get install libportaudio2 libportaudiocpp0 portaudio19-dev -y \
&& pip3 install pyaudio numpy matplotlib \
scipy librosa
我还建议添加一个点子要求文件,以使事情更整洁。