在Ubuntu 23.04容器中安装Python 3.7失败求助
在Ubuntu 23.04容器中安装Python 3.7失败求助
看起来你遇到的问题核心是Ubuntu 23.04(Lunar Lobster)不在deadsnakes PPA的支持范围内——这个PPA没有为Lunar版本提供软件源,所以添加PPA时会返回404错误,直接用apt-get install也找不到Python3.7的安装包。下面给你两种可行的解决办法:
方法一:切换到支持deadsnakes的Ubuntu基础镜像
Ubuntu 22.04(Jammy Jellyfish)是长期支持版本,完全被deadsnakes PPA支持。你只需要把Dockerfile的基础镜像换成ubuntu:22.04,就能顺利安装Python3.7:
FROM ubuntu:22.04 # 更新软件源并安装必要工具 RUN apt-get update -y && \ apt-get install -y software-properties-common && \ # 添加deadsnakes PPA源 add-apt-repository ppa:deadsnakes/ppa -y && \ apt-get update -y && \ # 安装Python3.7和对应pip apt-get install -y python3.7 python3-pip
方法二:在Ubuntu 23.04中从源码编译Python3.7
如果必须使用Ubuntu 23.04作为基础容器镜像,那只能通过源码编译的方式安装Python3.7。这种方式虽然步骤多一些,但能保证在当前系统环境下正常运行:
FROM ubuntu:23.04 # 安装编译Python所需的依赖包 RUN apt-get update -y && \ apt-get install -y build-essential zlib1g-dev libncurses5-dev \ libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget # 下载Python3.7.16的源码包并解压 RUN wget https://www.python.org/ftp/python/3.7.16/Python-3.7.16.tgz && \ tar -xf Python-3.7.16.tgz && \ rm Python-3.7.16.tgz # 编译并安装Python3.7(使用altinstall避免覆盖系统默认的Python版本) RUN cd Python-3.7.16 && \ ./configure --enable-optimizations && \ make -j$(nproc) && \ make altinstall
编译完成后,你可以通过python3.7命令调用这个版本,用pip3.7来安装对应的Python依赖,不会和系统自带的Python版本产生冲突。
备注:内容来源于stack exchange,提问作者VIshu Kamble
相关产品推荐
相关产品推荐

