現在、Alpine:3.7からイメージを構築しています。
私が問題を抱えているパッケージは2つあります。
私が受け取るエラーは次のとおりです。
要件setuptoolsを満たすバージョンが見つかりませんでした(バージョン:から)setuptoolsに一致するディストリビューションが見つかりませんでした
注:すべてのパッケージは、pipダウンロードを使用してディレクトリに事前キャッシュされます。
Dockerfileは次のようになります。
RUN apk add --no-cache --virtual .build-deps <dev packages>
&& apk add --no-cache --update python3
&& pip3 install --upgrade pip setuptools
RUN pip3 install -f ./python-packages --no-index -r requirements.txt ./python-packages/pkgs
....
libffi-dev、libressl-devなどのdevパッケージ.
どうやらpipをアップグレードするとき:
pip3 install --upgrade pip setuptools
Pipのアップグレードを削除し、インストールは機能しました。今、私はAlpineでpipをアップグレードする正しい方法を研究しており、このチェックを行う github repo でDockerfileを見つけました:
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
ちょうどpipコマンドを呼び出すときに、pip3が参照されていることを確認しますpythonおよびシステムバイナリのディレクトリでシンボリックリンクを実行します。
質問でビルドする開発パッケージの完全なリストについてはわかりませんが、次のようにする必要があります:g++
(GNU C++標準ライブラリとコンパイラ)、python3-dev
(python3開発ファイル)、libffi-dev
(libffi開発ファイル)およびopenssl-dev
(SSL v2/v3およびTLS v1開発ファイル用のツールキット)。
Dockerfile
は次のとおりです。
FROM Alpine:3.7
RUN apk add --no-cache --virtual .build-deps g++ python3-dev libffi-dev openssl-dev && \
apk add --no-cache --update python3 && \
pip3 install --upgrade pip setuptools
RUN pip3 install pendulum service_identity