gpt4 book ai didi

python - 在 docker 镜像中安装 Python3.9 和 pip(而不是 python 3.8)

转载 作者:行者123 更新时间:2023-12-04 18:25:31 32 4
gpt4 key购买 nike

我正在尝试构建一个 docker 镜像来运行一些测试,但我无法说服 ubuntu 安装 python 3.9 和 pip,而不是 python3.8。
启动Docker unbuntu:latest,安装python3.9没问题,但是没有pip。好的,我会尝试按照所有答案的建议:apt-get install python3-pip但这会安装 **all ** of python3.8,以及其他垃圾。现在,它在这一 pip 上确实有效,但它让我在图像中拥有一个完全不必要的 python 版本,我希望它尽可能小。
不,之后卸载 3.8 不起作用,它会删除 pip。
我怎样才能得到python3.9,有pip,没有python3.8?
我确实看到了:How to install pip for Python 3.9 on Ubuntu 20.04curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py当你运行脚本时,它会提示需要 distutils。没问题:sudo apt-get install python3-distutilspython3-distutils 依赖于什么?为什么,python3.8,当然!

最佳答案

ubuntu store 系统python包在/usr/lib/python3/dist-packages并为所有 python3 版本共享它。
在 ubuntu 20.04 容器内 (docker run -ti ubuntu:20.04):

apt-get update
apt-get install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
# Install py39 from deadsnakes repository
apt-get install python3.9
# Install pip from standard ubuntu packages
apt-get install python3-pip
然后你可以用 python3.9 -m pip ... 调用 pip ,但要小心,所有内容都安装在 /usr/lib/python3/dist-packages 中.
但如果你只需要一个 dockerized 版本的 python3.9,最好使用 official python docker image ,以 debian 或 alpine(非常轻)为基础。两者都使用标准 lib/pythonx.y/site-packages .
默认情况下,这些图像定义了 python 解释器的入口 pip ,但你可以覆盖为什么 bashbusybox sh ( Alpine )。
为 debian 编辑
启动板存储库建立在 ubuntu 发行版之上。使用过度分发会导致库不兼容。
在 deadsnakes ubuntu/xenial 存储库中,python3.9 需要 libssl1.0.0 , 但 debian/buster 提供 libssl1.1 .
在 debian/buster 中获取 python3.9 的最简单方法是使用官方镜像 ( docker run -ti python:3.9-buster)。否则,构建它...

关于python - 在 docker 镜像中安装 Python3.9 和 pip(而不是 python 3.8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68185770/

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