web-dev-qa-db-ja.com

python&コンパイラエラーがないためにAlpineが失敗したDockerイメージ

Python3とcrontabの両方を備えたDockerイメージを探しています。 python:latestをベースとして使用すると、cronはありませんが、必要なすべてのpythonパッケージは問題なくインストールされます。

Alpineをベースとして使用すると、(busybox)cronは機能しますが、コンパイラエラーのために特定のpythonパッケージをインストールできません。

python:Alpineを使用する場合も同じです。

Collecting pynacl>=1.0.1 (from paramiko->-r required_python_packages.txt (line 6))
  Downloading PyNaCl-1.1.2.tar.gz (3.1MB)
    Complete output from command python setup.py Egg_info:

        No working compiler found, or bogus compiler options
        passed to the compiler from Python's distutils module.
        See the error messages above.

何かアドバイスはありますか?

10
Bigfoot

動作するコンパイラが必要です。これを回避する最も簡単な方法は、次のようにビルドベースパッケージをインストールすることです。

apk add --no-cache --virtual .pynacl_deps build-base python3-dev libffi-dev

これにより、pynaclのコンパイルに必要なさまざまなツールがインストールされ、pip install pynaclが成功します。

--virtualフラグの使用はオプションですが、Dockerfileで後でapk del .pynacl_depsを実行できるため、画像を簡単にトリミングできます。これらは不要になり、全体のサイズが小さくなります。画像。

24
Clive Makamara