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]
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
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
instead of python3-pip install py3-pip
apk add --update python3 py3-pip
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
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.
You can try this command
apk add python3