简体   繁体   中英

Docker image with python & alpine failure due missing compiler error

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?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM