如何在 alpine linux 上安装 python?

如何在基于高山的映像上安装 python3和 python3-pip (不使用 python 映像) ?

 $ 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]
190273 次浏览

下面是我在 Dockerfile 中使用的高山图像:

# 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

看一下阿尔卑斯山的软件包 repo: < a href = “ https://pkgs.alpinelinux.org/package”rel = “ norefrer”> https://pkgs.alpinelinux.org/packages 因此,您正在寻找的是 python3py3-pip包。

在 dockerfile/etc 中使用的合适命令是:

apk add --no-cache python3 py3-pip

--no-cache标志说明

但是请注意,您需要 添加社区存储库,因为 py3-pipmain上的 不在场

你可以试试这个命令:

apk add python3

你可以使用提供高山标签的蟒蛇官方图片。您可能会得到最先进的 python 安装:

e.g.:

FROM python:3-alpine

代替 蟒蛇3-pip安装 Py3-pip

apk add --update python3 py3-pip

看起来你正在尝试安装一个特定的小版本的 Python 3(3.8) ,你可以在 Alpine 中使用这样的 semver 来安装一个版本的 python3>=3.8.0 <3.9.0-0:

apk add python3=~3.8

另外一个选项是在构建映像时使用 建造 python:

FROM alpine:latest


# you can specify python version during image build
ARG PYTHON_VERSION=3.9.9


# install build dependencies and needed tools
RUN apk add \
wget \
gcc \
make \
zlib-dev \
libffi-dev \
openssl-dev \
musl-dev


# download and extract python sources
RUN cd /opt \
&& wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz \
&& tar xzf Python-${PYTHON_VERSION}.tgz


# build python and remove left-over sources
RUN cd /opt/Python-${PYTHON_VERSION} \
&& ./configure --prefix=/usr --enable-optimizations --with-ensurepip=install \
&& make install \
&& rm /opt/Python-${PYTHON_VERSION}.tgz /opt/Python-${PYTHON_VERSION} -rf
# rest of the image, python3 and pip3 commands will be available

此代码片段从源代码(与 pip 一起)下载并构建指定版本的 python。这可能是一个过度杀戮,但有时它可能会派上用场。