摘要
ppa:deadsnakes 仓库今天停止维护旧版本 Ubuntu ,删除了针对 Ubuntu bionic 18.04 的所有 Python 预编译包。2023年6月6日 官方公告
因此主机操作系统是 Ubuntu 18.04 bionic 的用户,不能从 ppa:deadsnakes 仓库下载 Python 包。否则下载时会找不到包,遇到以下报错:
root@~# apt install python3.9
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3.9
E: Couldn't find any package by glob 'python3.9'
E: Couldn't find any package by regex 'python3.9'
而主机操作系统是 Ubuntu 20.04 focal、Ubuntu 22.04 jammy 的用户,可以继续从 ppa:deadsnakes 仓库下载 Python 包。
什么是 ppa:deadsnakes ?
如果你 google 搜索如何在 Ubuntu 主机上安装 Python ,大部分网页给出的建议是,从一个名为 ppa:deadsnakes 的仓库下载 Python 软件包,因为它比 Ubuntu 默认仓库提供了更新版本的 Python 。命令如下:
apt install -y software-properties-common # 安装 add-apt-repository 工具
add-apt-repository -y ppa:deadsnakes/ppa # 添加 apt 仓库
apt install -y python3.9
以后怎么办?
使用旧版本 Ubuntu 18.04 bionic 的用户,建议下载 Python 源代码包,然后手动编译:
py_version=3.9.9 # 指定 Python 版本
apt install -y gcc make openssl libssl-dev zlib1g zlib1g-dev libffi-dev # 安装编译环境
curl -O https://www.python.org/ftp/python/${py_version}/Python-${py_version}.tgz
tar -zxvf Python-${py_version}.tgz
cd Python-${py_version}
./configure --prefix=/usr/local/python/Python-${py_version} --with-ensurepip=install
make
make install
cd ..
rm -rf Python-${py_version} Python-${py_version}.tgz
ln -s /usr/local/python/Python-${py_version}/bin/* /usr/local/bin/
为什么发这篇博客?
昨天我刚写好的 Dockerfile ,今天就用不了了,花了一天时间排查,检查每个字母是不是敲错了。最后发现是因为 apt 仓库里的包昨晚被官方删了,撞到这么小概率的事件,泪目
https://ppa-stats.sheth.io/#/?ppaName=ppa&ppaOwner=deadsnakes&packageName=python3.10