2024年4月1日月曜日

The system-wide python installation should be maintained using the system package manager (apk) only. 対応

The system-wide python installation should be maintained using the system package manager (apk) only. 対応

概要

古い alpine では virtualenv を作成しないと pip install ができないようなので対応策を紹介します

環境

  • Ubuntu 22.04
  • docker 25.0.2
  • lego 4.16.1

対応前 dockerfile

FROM goacme/lego:v4.16.1

RUN apk update
RUN apk add --no-cache --virtual .build-deps python3-dev python3 py3-pip
RUN pip3 install --upgrade pip setuptools
RUN pip3 install awscli
RUN aws configure list

これだと3つ目の RUN のpip3 install でエラーになります

対応版 dockerfile

FROM goacme/lego:v4.16.1

RUN apk update
RUN apk add --no-cache --virtual .build-deps python3-dev python3 py3-pip
RUN python3 -m venv ~/test_venv --system-site-packages
RUN ~/test_venv/bin/pip3 install --upgrade pip setuptools
RUN ~/test_venv/bin/pip3 install awscli
RUN ~/test_venv/bin/aws configure list

一度 venv を作成しそこにインストールされるコマンドを使うことでエラーにならなくなります

active しても OK です

最後に

エラーに記載されている通りに venv を作成するのが一番かなと思います
また alpine のバージョンを下げることで対応もできますが基本は新しいバージョンを使ったほうがいいのでおすすめはしません

参考サイト

0 件のコメント:

コメントを投稿