使用 python3.7 版本的 aws-sam-cli 软件包进行 pip 安装



在下面的docker文件中:

FROM alpine:latest
ENV HOME /home/samcli
ENV PATH $HOME/.local/bin:$PATH
RUN mkdir /root/bin /aws; 
    apk add --no-cache groff less bash python jq curl py-pip tzdata
RUN ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime
RUN apk add --no-cache --virtual .build-deps gcc python2-dev python3-dev linux-headers musl-dev && 
    pip install --upgrade pip; 
    adduser samcli -Du 5566; 
    chown -R samcli $HOME;
USER samcli
WORKDIR $HOME
RUN pip install --user --upgrade awscli aws-sam-cli;
USER root
RUN apk del .build-deps; 
    rm -rf /var/cache/apk/*

Layer(RUN pip install --user --upgrade awscli aws-sam-cli;(正在使用python 2.7安装,尽管图像已经安装了python3.7。

安装python包时,我看到以下弃用错误:

Step 9/11 : RUN pip install --user --upgrade awscli aws-sam-cli;

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/


如何使用 python3.7 安装 aws 软件包? 因为下面的命令使用的是python2

pip install --user --upgrade awscli aws-sam-cli;

我建议使用基于alpine的python官方图像,这样你就不需要维护和安装python版本。下面的基本图像基于alpine 3.9python version is 3.7

FROM python:3.7-alpine3.9
ENV HOME /home/samcli
ENV PATH $HOME/.local/bin:$PATH
RUN ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime
RUN apk add --no-cache --virtual .build-deps python2-dev  python3-dev gcc linux-headers musl-dev && 
    adduser samcli -Du 5566; 
    chown -R samcli $HOME;
RUN apk add --no-cache groff less bash jq curl py-pip tzdata
USER samcli
WORKDIR $HOME
RUN pip install --user --upgrade awscli aws-sam-cli;
USER root
RUN apk del .build-deps; 
    rm -rf /var/cache/apk/*

这个Dockerfile对我有用。

FROM alpine:latest
RUN apk update && apk upgrade
RUN apk --no-cache add python3 py3-pip gcc musl-dev python3-dev
RUN pip install aws-sam-cli awscli
...

最新更新