Docker Alpine Linux python (missing)
DockerAlpineDocker Problem Overview
I have a pipeline which deploys my container from GitLab. Last deployment was 5 days ago and went without any problems. Today I deploy it and get the following error:
$ apk add --no-cache curl python py-pip
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
python (missing):
required by: world[python]
My job definition is:
my-deploy:
type: my-deploy
image: docker:stable
script:
- apk update
- apk add --no-cache curl python py-pip <-- Here the erorr happens
...
Docker Solutions
Solution 1 - Docker
From this issue on the Docker's repo:
> This was "broken" while updating our base from alpine:3.11
to alpine:3.12
.
In order to fix it you need to specify the version of Python directly, e.g.:
apk add python2
// or
apk add python3
Solution 2 - Docker
Try this command:
apk add --update --no-cache curl py-pip
It will install python3
automatically with pip.
My understanding is that Python 2 has been decommissioned from the latest Alpine packages.
Solution 3 - Docker
I've fix following this https://gitlab.alpinelinux.org/alpine/aports/-/issues/11605
Updating your code to install python3:
before_script:
- apk add --update --no-cache curl jq py3-configobj py3-pip py3-setuptools python3 python3-dev
Solution 4 - Docker
What solved it for me is this solution posted on GitHub.
RUN echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositories