程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

小技巧:ubuntu 24.04.1中自带Python升级到3.12.9和3.13.2最新版

hfteth 2025-03-23 19:48:43 技术文章 21 ℃

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。

这几天一直有朋友问我,如何将ubuntu 24.04.1中自带Python升级到最新版,今天就来详细讲讲。


方法1:使用DeadSnakes PPA(不推荐,但简单),版本更新较慢。

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装依赖
sudo apt install software-properties-common -y

# 添加DeadSnakes PPA
sudo add-apt-repository ppa:deadsnakes/ppa -y

# 安装Python3.12
sudo apt install python3.12 python3.12-dev python3.12-venv python3.12-distutils -y

# 验证版本
python3.12 --version  # 应显示 3.12.x(如PPA已更新则为3.12.9)

# 设置默认python3(谨慎操作!)
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
sudo update-alternatives --config python3  # 选择3.12的编号

方法2:源码编译安装(推荐,需要一定的动手能力),可以更新到任意版本。

1.更新到Python 3.12.9

# 安装编译依赖
sudo apt update && sudo apt install -y \
    build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \
    libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev

# 下载Python3.12.9源码
wget https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tar.xz
tar -xf Python-3.12.9.tar.xz
cd Python-3.12.9

# 编译安装(替换/usr/local目录)
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall  # 使用altinstall避免覆盖系统python

# 验证
python3.12 --version  # 应显示 3.12.9

2.更新到Python 3.13.2

# 安装编译依赖
sudo apt update && sudo apt install -y \
    build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \
    libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev

# 下载Python3.13.2源码
wget https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz
tar -xf Python-3.13.2.tar.xz
cd Python-3.13.2

# 编译安装(替换/usr/local目录)
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall  # 使用altinstall避免覆盖系统python

# 验证
python3.13 --version  # 应显示 3.13.2

关键注意事项:

  1. 系统兼容性
    Ubuntu 24.04.01已自带Python 3.12.3(但不是最新的)。
  2. 不要删除系统Python
    Ubuntu系统工具(如apt)依赖默认Python,建议通过 python3.12 显式调用新版本,而非替换系统默认的 python3。
  3. 虚拟环境推荐
    使用新版本创建独立环境:

Python 3.12.9

python3.12 -m venv myenv312 source myenv/bin/activate

Python 3.13.2

python3.13 -m venv myenv313 source myenv/bin/activate

验证操作

# 确认Python版本
python3.12 -c "import sys; print(sys.version)"

# 预期输出
3.12.9 (main, Feb  6 2025, 10:09:35) [GCC 13.3.0]
# 确认Python版本
python3.13 -c "import sys; print(sys.version)"

# 预期输出
3.13.2 (main, Feb  6 2025, 10:17:48) [GCC 13.3.0]

选择最适合你的方法,如果遇到依赖问题,根据终端提示安装缺失的包即可。

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。

Tags:

最近发表
标签列表