Ubuntu22.04安装python3.12

[复制链接]
发表于 2026-10-3 16:40:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、先说结论:Ubuntu 22.04 装 Python 3.12 该走哪条路

Ubuntu 22.04 默认源里是 Python 3.10,很多新项目的 pyproject.toml 已经要求 3.11 / 3.12。急着用、要平版稳定:走 deadsnakes PPA 装官方包最省事;要特定小版本、要可控:走源码编译。

下面这条记录的是源码编译安装 3.12.2 的完整流程,以及每一步为什么这么写。文中所有命令都还原了原文被吞掉的空格(如 ./configure --enable-optimizations),可直接复制。

二、第 1 步:更新软件包列表

sudo apt update

三、第 2 步:装编译需要的依赖

Python 源码编译会用到 zlib、ssl、readline、sqlite3 这些库,不装齐会在编译后期报错,或者装完发现某一模块不可用(比如 pip 装包失败、sqlite3 模块 import 不了),所以这一步别省:

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
  libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
  xz-utils tk-dev libffi-dev liblzma-dev

拆开看几个关键的:build-essential 提供 gcc/make、libssl-dev 给 HTTPS、libreadline-dev 给交互式命令行、tk-dev 给 tkinter、llvm 在部分版本里参与优化构建。

四、第 3 步:下载 3.12 源码

wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz

五、第 4 步:解压

tar xzf Python-3.12.2.tgz

六、第 5 步:编译并安装

cd Python-3.12.2
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall

四行命令各自的用处:

  • --enable-optimizations:开启 PGO 优化,代价是编译明显更慢(可能多花一倍时间),收益是运行更快。不着急的话加上,追求速度就去掉;
  • make -j$(nproc):按 CPU 核心数并行编译,$(nproc) 会被替换成核心数;
  • altinstall(关键):用它而不是 install,才会装成 python3.12 而不覆盖系统的 python3 软链接。 Ubuntu 22.04 的系统工具依赖 3.10,覆盖掉可能把 apt 连带弄坏——这是源码装 Python 最重要的一条纪律。

七、第 6 步:验证

python3.12 --version

输出 Python 3.12.2 即成功。同时确认系统 Python 没被动过:

python3 --version      # 应仍是 Ubuntu 自带的 3.10.x

八、第 7 步:装 pip 并升级

apt install python3-pip
pip3 install --upgrade pip

这里用的是系统包管理器装的 python3-pip;升级到最新 pip 可以避免老版本 pip 在新包索引上下载失败。

九、真正该建环境的地方:venv

装好解释器只完成了一半,实际开发请用虚拟环境,不要往系统级 site-packages 里堆包:

python3.12 -m venv venv
source venv/bin/activate
python -V
pip install requests

十、几个会踩的坑

  • make 阶段报缺少某个 .h:回到第 2 步把对应 -dev 包装齐,然后重新完整跑一遍 configure + make(只补装不重编是无效的);
  • 忘记用 altinstall:系统 python3 被覆盖,apt / 系统脚本报 No module named;补救方式是卸载重装并存版本,别再覆盖;
  • 只装了解释器没装 pip:用 python3.12 -m ensurepip 补一个内置 pip;
  • 源码包放 /tmp 下编译:建议放到 /usr/local/src 这种持久目录,重启后 /tmp 可能被清空,Python 就只剩一个残影。

十一、一句话串起来

装依赖 → 下源码 → 解压 → ./configure --enable-optimizations → make -j$(nproc) → sudo make altinstall → python3.12 --version 验证。 记住 altinstall 不覆盖系统 Python 这一条,整套流程就稳了;日常开发在 venv 里跑,系统环境保持干净。

(本文由 qidao123.com企服评测-应用市场 编辑提示整理:示例基于 Ubuntu 22.04 与 GNU toolchain / OpenSSL 1.1 环境,适用于 Python 3.12 源码编译安装与虚拟环境搭建。)

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表