如何在 Alpine Linux 上安装 Python 3.8 而不是 Python 基础镜像

How to install Python 3.8 on Alpine Linux not from Python base image

特别是在这个基本图像中 https://hub.docker.com/r/frolvlad/alpine-glibc/ how does one add Python 3.8 to it.. Adding python3 installs Python3.6.9. Went through 但无法弄清楚。

在撰写本文时,最新的 frolvlad/alpine-glibc 映像基于 Alpine 3.13.2。 Alpine 3.13 的当前 Python 3 版本是 3.8.8。因此,要安装 Python 3.8,只需安装 python3 包。 Alpine 3.12 和 3.11 也是如此。

如果您使用的是基于 Alpine 3.13、3.12 或 3.11 的 frolvlad/alpine-glibc,请尝试使用 apk update 更新 apk 数据库,然后使用 apk add python3

在基于较旧的 Alpine 版本(例如 Alpine 3.9)的图像上,您将无法安装功能性 Python 3.8,因为它依赖于 musl 1.1.24,它仅在 Alpine 3.10 之后可用.尽管它可以使用 Alpine 3.11+ 存储库安装,但由于上述 musl dependency:

,它将无法 运行
/ # apk add python3=3.8.2-r2 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.11/main
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
(1/10) Installing libbz2 (1.0.8-r1)
(2/10) Installing expat (2.2.9-r1)
(3/10) Installing libffi (3.2.1-r6)
(4/10) Installing gdbm (1.13-r1)
(5/10) Installing xz-libs (5.2.4-r0)
(6/10) Installing ncurses-terminfo-base (6.1_p20200118-r4)
(7/10) Installing ncurses-libs (6.1_p20200118-r4)
(8/10) Installing readline (8.0.1-r0)
(9/10) Installing sqlite-libs (3.30.1-r2)
(10/10) Installing python3 (3.8.2-r2)
Executing busybox-1.29.3-r10.trigger
Executing glibc-bin-2.29-r0.trigger
OK: 71 MiB in 27 packages
/ # python3 --version
Error relocating /usr/lib/libpython3.8.so.1.0: copy_file_range: symbol not found