How do I install python on alpine linux?

PythonLinuxAlpine

Python Problem Overview


How do I install python3 and python3-pip on an alpine based image (without using a python image)?

 $ apk add --update python3.8 python3-pip
 ERROR: unsatisfiable constraints:
   python3-pip (missing):
     required by: world[python3-pip]
   python3.8 (missing):
     required by: world[python3.8]

Python Solutions


Solution 1 - Python

This is what I use in a Dockerfile for an alpine image:

# Install python/pip
ENV PYTHONUNBUFFERED=1
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
RUN python3 -m ensurepip
RUN pip3 install --no-cache --upgrade pip setuptools

Solution 2 - Python

Look here: https://pkgs.alpinelinux.org/packages So what you are looking for are the python3 and py3-pip packages.

A suitable command to use inside a dockerfile/etc would be:

apk add --no-cache python3 py3-pip

Explanation of the --no-cache flag

Note however, that you need to add the community repository since py3-pip is not present on main.

Solution 3 - Python

instead of python3-pip install py3-pip

apk add --update python3 py3-pip

Solution 4 - Python

You can try this command:

apk add python3

Solution 5 - Python

You may use the python official image which offers alpine tags as well. You will probably get the most state-of-the-art python install:

e.g.:

FROM python:3-alpine

Solution 6 - Python

It looks like you're trying to install a specific minor version of Python3 (3.8), you can do this in Alpine by using semver like this which will install a version of python3>=3.8.0 <3.9.0-0:

apk add python3=~3.8

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
QuestionCutaracaView Question on Stackoverflow
Solution 1 - PythonTerry SpottsView Answer on Stackoverflow
Solution 2 - PythonLinus H.View Answer on Stackoverflow
Solution 3 - Pythonali mirmohammadiView Answer on Stackoverflow
Solution 4 - PythonadobeanView Answer on Stackoverflow
Solution 5 - PythonVincent PazellerView Answer on Stackoverflow
Solution 6 - PythonTomNashView Answer on Stackoverflow