Ubuntu24.04安装python2

如何在 Ubuntu 24.04 上安装 Python 2

由于 Ubuntu 24.04 不再提供官方的 Python 2 支持,因此无法通过 apt 包管理器直接安装 Python 2。为了满足某些旧项目的兼容需求,可以通过编译源码的方式手动安装 Python 2。

以下是具体的实现方法:

下载并安装依赖项

在安装 Python 2 的源码之前,需要先安装一些必要的构建工具和库文件:

复制代码
sudo apt update && sudo apt upgrade -ysudo apt install build-essential checkinstall libreadline-gplv2-dev \libncursesw5-dev libssl-dev libsqlite3-dev tk-dev \libgdbm-dev libc6-dev libbz2-dev zlib1g-dev openssl \libffi-dev uuid-dev wget curl git -y

上述命令将确保系统具备编译 Python 所需的所有依赖项2。

下载 Python 2 源码

访问 Python 官方网站获取最新的 Python 2.x 版本(目前最新稳定版为 Python 2.7.18)。可以使用以下命令下载源码压缩包:

复制代码
# 找个临时空间,没有则创建
cd /usr/srcsudo
# 下载
sudo wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
# 离线包 可选 https://pythonlang.cn/downloads/release/python-2718/

解压下载的 tar 文件:

复制代码
sudo tar xzf Python-2.7.18.tgz
编译并安装 Python 2

进入解压后的目录并执行配置脚本:

复制代码
# 进入到源代码根目录下
cd Python-2.7.18
​
# 配置
sudo ./configure --enable-optimizations

运行编译过程:

复制代码
# 配置完后,同样在根目录下执行编译:
sudo make altinstall

注意:这里使用了 altinstall 而不是普通的 make install,以防止覆盖系统的默认 python 链接。

完成以上操作后,可以在 /usr/local/bin/ 中找到新安装的 Python 2 可执行文件。

创建软链接以便调用

为了让系统能够识别 python2 命令,创建一个指向新安装路径的符号链接:

复制代码
sudo ln -sfn /usr/local/bin/python2.7 /usr/bin/python2

验证安装是否成功:

复制代码
python2 -V

如果显示版本号为 Python 2.7.18,则说明安装成功。

设置默认 Python 环境(可选)

如果希望让系统优先使用 Python 2,则可通过 update-alternatives 工具设置默认解释器:

复制代码
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1sudo update-alternatives --config python

按照提示选择所需的 Python 解释器作为默认选项。


注意事项

尽管可以从源码安装 Python 2,但由于其已停止维护,建议仅将其用于特定场景下的向后兼容性支持。对于新的开发工作,请始终选用更现代的 Python 版本(如 Python 3.x),因为后者具有更好的安全性和功能特性4。

完美验证成功,2025年12月29日16:14:50。

相关推荐
武子康9 小时前
调查研究-197 FAISS vs Elasticsearch 全面对比:从向量检索、全文搜索到 RAG 选型指南
人工智能·elasticsearch·agent
大大大大晴天10 小时前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术11 小时前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB1 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
Elasticsearch1 天前
Elasticsearch ES|QL:现已支持视图、子查询和读取时模式定义
elasticsearch
Elasticsearch4 天前
Kibana 中的 SNMP 拓扑数据:从采集到 Canvas
elasticsearch
大大大大晴天4 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB5 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI5 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI5 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop