Docker Alpine Linux python (missing)

DockerAlpine

Docker 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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAGoranovView Question on Stackoverflow
Solution 1 - DockerAGoranovView Answer on Stackoverflow
Solution 2 - DockerBMWView Answer on Stackoverflow
Solution 3 - DockerNícolas Sims BotelhoView Answer on Stackoverflow
Solution 4 - DockerNavView Answer on Stackoverflow