Dockerfile - 找不到满足 serverlessrepo==0.1.5 要求的版本
Dockerfile - Could not find a version that satisfies the requirement serverlessrepo==0.1.5
下面是 aws sam 的 Dockerfile:
FROM buildpack-deps:stable
ARG PYTHON_VERSION=3.7.4
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
# download and build Python 3.7, install basic Python libraries
# (this predates pipenv so a mixture of dependencies)
ADD requirements.txt /requirements.txt
RUN cd /usr/src && \
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --enable-optimizations && \
make altinstall && \
apt-get install -y python3-pip && \
pip3 install -r /requirements.txt
RUN pip3 install awscli --upgrade --user && \
pip3 install --user aws-sam-cli
出现错误:
ERROR: Could not find a version that satisfies the requirement serverlessrepo==0.1.5 (from aws-sam-cli) (from versions: 0.1.6, 0.1.7, 0.1.8, 0.1.9)
ERROR: No matching distribution found for serverlessrepo==0.1.5 (from aws-sam-cli)
The command '/bin/sh -c pip3 install awscli --upgrade --user && pip3 install --user aws-sam-cli' returned a non-zero code: 1
如何安装 serverlessrepo 版本 0.1.5?
它不适用于 python3。检查 this。
您需要安装 Python2.7, 3.6, or 3.7。
更多信息here。
希望对您有所帮助。
SAM CLI supports Python2.7、3.6 和 3.7 以及您的 docker 映像附带 python3.5。
解决方法可以是下面的内容或从您的基本 docker 图像更新基本版本。
FROM buildpack-deps:stable
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
# Install python3
RUN apt-get update \
&& apt-get install -y python3-pip python3-dev \
&& cd /usr/local/bin \
&& ln -s /usr/bin/python3 python \
&& pip3 install --upgrade pip
RUN pip3 install awscli --upgrade --user
RUN python --version
RUN apt-get install python-pip -y
RUN python2.7 -m pip install aws-sam-cli
更新:
基本图像更改为 buildpack-deps:buster
FROM buildpack-deps:buster
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
RUN apt update -y
RUN apt install python3-pip -y
RUN pip3 install awscli --upgrade --ignore-installed six
RUN python3.7 -m pip install aws-sam-cli
RUN rm /usr/bin/python
RUN ln -s /usr/bin/python3.7 /usr/bin/python
下面是 aws sam 的 Dockerfile:
FROM buildpack-deps:stable
ARG PYTHON_VERSION=3.7.4
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
# download and build Python 3.7, install basic Python libraries
# (this predates pipenv so a mixture of dependencies)
ADD requirements.txt /requirements.txt
RUN cd /usr/src && \
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --enable-optimizations && \
make altinstall && \
apt-get install -y python3-pip && \
pip3 install -r /requirements.txt
RUN pip3 install awscli --upgrade --user && \
pip3 install --user aws-sam-cli
出现错误:
ERROR: Could not find a version that satisfies the requirement serverlessrepo==0.1.5 (from aws-sam-cli) (from versions: 0.1.6, 0.1.7, 0.1.8, 0.1.9)
ERROR: No matching distribution found for serverlessrepo==0.1.5 (from aws-sam-cli)
The command '/bin/sh -c pip3 install awscli --upgrade --user && pip3 install --user aws-sam-cli' returned a non-zero code: 1
如何安装 serverlessrepo 版本 0.1.5?
它不适用于 python3。检查 this。
您需要安装 Python2.7, 3.6, or 3.7。
更多信息here。
希望对您有所帮助。
SAM CLI supports Python2.7、3.6 和 3.7 以及您的 docker 映像附带 python3.5。 解决方法可以是下面的内容或从您的基本 docker 图像更新基本版本。
FROM buildpack-deps:stable
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
# Install python3
RUN apt-get update \
&& apt-get install -y python3-pip python3-dev \
&& cd /usr/local/bin \
&& ln -s /usr/bin/python3 python \
&& pip3 install --upgrade pip
RUN pip3 install awscli --upgrade --user
RUN python --version
RUN apt-get install python-pip -y
RUN python2.7 -m pip install aws-sam-cli
更新:
基本图像更改为 buildpack-deps:buster
FROM buildpack-deps:buster
# Update and allow for apt over HTTPS
RUN apt-get update && \
apt-get install -y apt-utils
RUN apt-get install -y apt-transport-https
RUN apt update -y
RUN apt install python3-pip -y
RUN pip3 install awscli --upgrade --ignore-installed six
RUN python3.7 -m pip install aws-sam-cli
RUN rm /usr/bin/python
RUN ln -s /usr/bin/python3.7 /usr/bin/python