Installing awscli on Alpine - how to fix "ModuleNotFoundError: No module named 'six'"
Installing awscli on Alpine - how to fix "ModuleNotFoundError: No module named 'six'"
上下文
我有一个基于 postgres:11-alpine
的 docker 文件,该文件在过去(自上次构建以来可能已经几个月了)工作,具有以下定义:
FROM postgres:11-alpine
RUN apk update
# install aws cli
# taken from: https://github.com/anigeo/docker-awscli/blob/master/Dockerfile
RUN \
apk -Uuv add groff less python py-pip && \
pip install awscli && \
apk --purge -v del py-pip && \
rm /var/cache/apk/*
我最近尝试在升级到 postgres 12 之前重建它,但图像构建失败:
ERROR: unsatisfiable constraints:
python (missing):
required by: world[python]
我猜 python
包现在不见了,因为 YOLO?不管怎样,我尝试通过将 docker 文件更改为:
来升级到 python3
RUN \
apk -Uuv add groff less python3 py-pip && \
pip install awscli && \
apk --purge -v del py-pip && \
rm /var/cache/apk/*
这看起来可行,但是当 运行 aws
命令时它失败并出现错误:
ModuleNotFoundError: No module named 'six'
问题
如何解决此问题,使 awscli
不会出现错误 No module named 'six'
?
问题似乎是删除py-pip
引起的。
据我所知,apk del
的目的是减小最终 docker 图像的大小。我不确定为什么在文件使用 python
包时删除 py-pip
曾经有效。
因此以下内容现在似乎有效:
RUN \
apk -Uuv add groff less python3 py-pip && \
pip install awscli && \
rm /var/cache/apk/*
上下文
我有一个基于 postgres:11-alpine
的 docker 文件,该文件在过去(自上次构建以来可能已经几个月了)工作,具有以下定义:
FROM postgres:11-alpine
RUN apk update
# install aws cli
# taken from: https://github.com/anigeo/docker-awscli/blob/master/Dockerfile
RUN \
apk -Uuv add groff less python py-pip && \
pip install awscli && \
apk --purge -v del py-pip && \
rm /var/cache/apk/*
我最近尝试在升级到 postgres 12 之前重建它,但图像构建失败:
ERROR: unsatisfiable constraints:
python (missing):
required by: world[python]
我猜 python
包现在不见了,因为 YOLO?不管怎样,我尝试通过将 docker 文件更改为:
python3
RUN \
apk -Uuv add groff less python3 py-pip && \
pip install awscli && \
apk --purge -v del py-pip && \
rm /var/cache/apk/*
这看起来可行,但是当 运行 aws
命令时它失败并出现错误:
ModuleNotFoundError: No module named 'six'
问题
如何解决此问题,使 awscli
不会出现错误 No module named 'six'
?
问题似乎是删除py-pip
引起的。
据我所知,apk del
的目的是减小最终 docker 图像的大小。我不确定为什么在文件使用 python
包时删除 py-pip
曾经有效。
因此以下内容现在似乎有效:
RUN \
apk -Uuv add groff less python3 py-pip && \
pip install awscli && \
rm /var/cache/apk/*