【问题标题】:How do I install python on alpine linux?如何在 alpine linux 上安装 python?
【发布时间】:2020-06-24 12:25:26
【问题描述】:

如何在基于 alpine 的映像上安装 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]

【问题讨论】:

  • 这可能对github.com/jfloff/alpine-python有帮助
  • OP 专门询问如何在不使用 python 图像的情况下完成任务。
  • 您显然对安装 python3.8 感兴趣,而不仅仅是任何版本的 python3。但是,没有一个答案能解决这个问题。有人知道如何安装特定的次要版本的 python3 吗?

标签: python linux alpine


【解决方案1】:

这是我在 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

【讨论】:

  • 我收到:WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz: No such file or directory ERROR: unsatisfiable constraints: python3 (missing): required by: world[python3]
  • 有趣,不知道python3 -m ensurepip 存在。
  • @Zac 如果您的/etc/apk/repositories 中没有启用community 存储库,则可能会出现此错误。检查此文件,取消注释或添加 community 存储库并重试。
【解决方案2】:

看这里:https://pkgs.alpinelinux.org/packages 所以你要找的是python3py3-pip 包。

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

apk add --no-cache python3 py3-pip

Explanation of the --no-cache flag

但是请注意,您需要add the community repository,因为py3-pipmain 上是not present

【讨论】:

  • 3 的 python-dev 包相当于什么?
  • @chovy 它是python3-dev 根据:Alpine Package search: python3-dev*
  • 这是正确的方法,因为3.12pkgs.alpinelinux.org/…
  • 如果您在尝试运行时遇到此错误importlib.metadata.PackageNotFoundError: pip,例如pip3 install 并且您正在使用 alpine:3.13 docker 映像,请尝试升级到 alpine:3.14
【解决方案3】:

而不是 python3-pip 安装 py3-pip

apk add --update python3 py3-pip

【讨论】:

    【解决方案4】:

    你可以试试这个命令

    apk 添加 python3

    【讨论】:

    • 这对我有用 image: openjdk:14-alpine,谢谢!
    【解决方案5】:

    您也可以使用提供 alpine 标签的 python 官方图像。您可能会获得最先进的 python 安装:

    例如:

    FROM python:3-alpine

    【讨论】:

      【解决方案6】:

      您似乎正在尝试安装 Python3 (3.8) 的特定次要版本,您可以在 Alpine 中使用类似这样的 semver 来执行此操作,这将安装 python3>=3.8.0 <3.9.0-0 的版本:

      apk add python3=~3.8
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-27
        • 1970-01-01
        • 1970-01-01
        • 2019-02-02
        • 2020-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多