-->

Docker image with python & alpine failure due miss

2020-07-06 02:07发布

问题:

I'm looking for a docker image with both python3 and a crontab. When I use python:latest as a base, I have no cron, but all required python packages install without problem.

When I use alpine as a base I have the (busybox) cron working, but are unable to install specific python package due to compiler error.

The same applies when I use 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.

Any advise?

回答1:

You need a working compiler, the easiest way around this is to install the build-base package like so:

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

This will install various tools that are required to compile pynacl and pip install pynacl will now succeed.

Note it is optional to use the --virtual flag but it makes it easy to trim the image because you can run apk del .pynacl_deps later in your Dockerfile as they are not needed any more and would reduce the overall size of the image.