gpt4 book ai didi

python - Alpine Docker 定义特定的 python 版本 (python3-3.8.7-r0 :breaks: world[python3=3. 6.9-r3])

转载 作者:行者123 更新时间:2023-12-04 08:06:00 33 4
gpt4 key购买 nike

当我想建立我的阿尔卑斯山 docker ,我得到一个错误,当我定义特定的Python版本。
我的 Dockerfile:

FROM python:3-alpine

RUN apk --no-cache add build-base openldap-dev python2-dev 'python3=3.6.9-r3' 'python3-dev=3.6.9-r3'
RUN pip3 install python-ldap sqlalchemy requests
ADD ucs-root-ca.crt /usr/local/share/ca-certificates/foo.crt
RUN chmod 644 /usr/local/share/ca-certificates/foo.crt && update-ca-certificates

COPY templates ./templates
COPY api.py filedb.py syncer.py ./

VOLUME [ "/db" ]
VOLUME [ "/conf/dovecot" ]
VOLUME [ "/conf/sogo" ]

ENTRYPOINT [ "python3", "syncer.py" ]
我收到以下错误,当我要建立我的dockerfile:
ERROR: unable to select packages:
python3-3.8.7-r0:
breaks: world[python3=3.6.9-r3]
satisfies: python3-dev-3.8.7-r0[python3=3.8.7-r0]
python3-dev-3.8.7-r0:
breaks: world[python3-dev=3.6.9-r3]
The command '/bin/sh -c apk --no-cache add build-base openldap-dev python2-dev 'python3=3.6.9-r3' 'python3-dev=3.6.9-r3'' returned a non-zero code: 2

最佳答案

apk 的错误是因为在 Alpine 存储库中找不到特定的 Python 3 版本。python3=3.6.9-r3目前只住在Alpine 3.9 main存储库:
https://pkgs.alpinelinux.org/package/v3.9/main/x86/python3python:3-alpine图像似乎基于最新的 Alpine 3.13。因此,找不到 3.6.9 的包。
要安装该特定版本,您必须告诉 apk使用该 3.9 存储库(如果您不在 Alpine 3.9 上):

apk add python3-dev=3.6.9-r3 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.9/main
但是,有一个问题: python3-dev=3.6.9-r3与 Alpine 3.9 兼容,不会与以后的 Alpine 版本很好地混合。例如:
  gdbm-1.19-r0:
conflicts: gdbm-1.13-r1
gdbm-1.13-r1[so:libgdbm_compat.so.4=4.0.0]
satisfies: python3-3.6.9-r3[so:libgdbm_compat.so.4]
libsasl-2.1.27-r10[so:libgdbm.so.6]
python2-2.7.18-r1[so:libgdbm_compat.so.4]
因此,如果您倾向于使用 Python 3.6.9具体来说,您必须在相当老的 Alpine 3.9 上运行它。
如果您不介意使用较旧的 Alpine 版本,只需将 Dockerfile 中的第一行替换为:
FROM alpine:3.9

关于python - Alpine Docker 定义特定的 python 版本 (python3-3.8.7-r0 :breaks: world[python3=3. 6.9-r3]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66221278/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com