Docker 高山 Linux python(缺失)

Docker Alpine Linux python (missing)

我有一个从 GitLab 部署我的容器的管道。最后一次部署是在 5 天前,没有任何问题。今天我部署它并收到以下错误:

$ 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-deploy:
  type: my-deploy
  image: docker:stable
  script:
    - apk update
    - apk add --no-cache curl python py-pip <-- Here the erorr happens
    ...

试试这个命令:

apk add --update --no-cache curl py-pip

它将使用 pip 自动安装 python3

我的理解是 Python 2 已从最新的 Alpine 软件包中退役。

我已经按照这个修复了 https://gitlab.alpinelinux.org/alpine/aports/-/issues/11605

正在更新您的代码以安装 python3:

before_script:
- apk add --update --no-cache curl jq py3-configobj py3-pip py3-setuptools python3 python3-dev

来自 Docker 回购的 this 问题:

This was "broken" while updating our base from alpine:3.11 to alpine:3.12.

为了修复它,您需要直接指定 Python 的版本,例如:

apk add python2
// or
apk add python3

this solution 在 GitHub 上发布的 this solution 解决了这个问题。

RUN echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositories