问题
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.
来源:https://stackoverflow.com/questions/45028650/docker-image-with-python-alpine-failure-due-missing-compiler-error