[英]python3 and pip3 in docker
我想使用python 3.x
和pip3
在 docker 中安装一些 python 库。我使用以下命令来完成它,但它们没有安装。
FROM alpine:latest
RUN apk add python3 py3-pip3 && \
pip3 install --upgrade pip3 && \
pip3 install wget &&\
pip3 install sys &&\
pip3 install threading &&\
pip3 install time &&\
pip3 install requests &&\
pip3 install paho-mqtt &&\
pip3 install logging &&\
rm -rf /var/cache/apk/*
COPY NumSide.py /home/mehdi/Download/NumSide.py
CMD ["python3","/home/mehdi/Download/NumSide.py"]
下面,我得到的错误:
错误:无法满足的约束:py3-pip3(缺失):需要:world[py3-pip3] 命令'/bin/sh -c apk add python3 py3-pip3 && pip3 install --upgrade pip3 && pip3 install wget &&pip3 install sys &&pip3 install threading &&pip3 install time &&pip3 install requests &&pip3 install paho.mqtt.client &&pip3 install logging &&rm -rf /var/cache/apk/*' 返回非零代码:1
包名是py3-pip
不是py3-pip3
如果您没有其他注意事项,请按照您的Dockerfile建议您只使用python:3-alpine
基本图像。 它基于alpine
linux以及你的,并且已经包含了Python 3的东西:
Dockerfile
FROM python:3-alpine
RUN python -m pip install --upgrade pip
RUN pip3 install requests paho-mqtt
COPY NumSide.py /home/mehdi/Download/NumSide.py
CMD ["python","/home/mehdi/Download/NumSide.py"]
否则,请在安装之前考虑使用apk update
来更新包列表。
另一个解决方案是:
RUN apk add python3 \
&& python3 -m ensurepip \
&& pip3 install --no-cache --upgrade pip setuptools
pip3 install wget
你确定你想要Python的wget,而不是系统wget
吗?
pip3 install sys &&\
pip3 install threading &&\
pip3 install time &&\
pip3 install requests &&\
pip3 install paho.mqtt.client &&\
pip3 install logging &&\
这些调用永远不会成功,因为sys
, threading
, time
和logging
是内置的或标准模块,它们不能从PyPI安装。 而且没有这样的模块paho.mqtt.client
; 也许你的意思是paho-mqtt
?
至于错误py3-pip3(缺失):需要:world [py3-pip3] : [py3-pip3]
在需求中意味着为包安装了额外的要求。 似乎世界没有这样的额外; 实际上它根本没有任何额外的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.