繁体   English   中英

docker 中的 python3 和 pip3

[英]python3 and pip3 in docker

我想使用python 3.xpip3在 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 &&\

这些调用永远不会成功,因为systhreadingtimelogging是内置的或标准模块,它们不能从PyPI安装。 而且没有这样的模块paho.mqtt.client ; 也许你的意思是paho-mqtt

至于错误py3-pip3(缺失):需要:world [py3-pip3][py3-pip3]在需求中意味着为包安装了额外的要求。 似乎世界没有这样的额外; 实际上它根本没有任何额外的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM