![](/img/trans.png)
[英]ModuleNotFoundError: No module named 'six' , Six is already installed
[英]Installing awscli on Alpine - how to fix “ModuleNotFoundError: No module named 'six'”
語境
我有一個基於postgres:11-alpine
的 dockerfile 過去(可能自上次構建以來幾個月)使用,其定義如下:
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
package 現在不見了,因為 YOLO? 不管怎樣,我嘗試通過將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
package 時刪除py-pip
會起作用。
所以以下現在似乎正在工作:
RUN \
apk -Uuv add groff less python3 py-pip && \
pip install awscli && \
rm /var/cache/apk/*
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.