Docker镜像与python&由于缺少编译器错误导致高山失败

时间:2017-07-11 07:58:23

标签: python docker cron alpine

我正在寻找包含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.

有任何建议吗?

1 个答案:

答案 0 :(得分:21)

你需要一个正常工作的编译器,最简单的方法是安装基于build的基础包,如下所示:

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

这将安装编译pynacl所需的各种工具,pip install pynacl现在将成功。

请注意,使用--virtual标志是可选的,但它可以轻松修剪图像,因为您可以稍后在Dockerfile中运行apk del .pynacl_deps,因为它们不再需要,并会降低整体图像的大小。