在Ubuntu中安装特定版本的Python,可通过系统包管理器(APT)+ 第三方PPA、pyenv版本管理工具或源码编译三种常见方式实现,以下是详细步骤:
Deadsnakes PPA是Ubuntu社区维护的非官方仓库,提供多种Python版本(包括最新的3.11、3.12等),适合需要快速安装特定版本的用户。
sudo apt update
sudo apt install software-properties-common -y
Enter确认):sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update # 更新仓库列表,获取PPA中的Python版本
<version>替换为目标版本号(如3.8、3.9、3.11等),例如安装Python 3.11:sudo apt install python3.11 -y
python3.11 --version # 输出类似 "Python 3.11.6"
update-alternatives工具:sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo update-alternatives --config python3 # 通过数字选择默认版本
验证默认版本:python3 --version
pyenv是Python版本管理工具,可在同一台机器上安装多个Python版本,并快速切换全局或局部版本,适合开发环境。
curl https://pyenv.run | bash
将以下内容添加到~/.bashrc(或~/.zshrc,根据使用的shell调整)文件末尾:export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)" # 可选,用于管理虚拟环境
重新加载shell配置:source ~/.bashrc # 或 source ~/.zshrc
pyenv install命令安装目标版本(如3.9.18),需替换为具体版本号:pyenv install 3.9.18
(注:若未安装build-essential等依赖,可能会报错,需提前运行sudo apt install build-essential zlib1g-dev libssl-dev libreadline-dev libsqlite3-dev)pyenv global 3.9.18
pyenv local 3.9.18 # 在项目目录下运行,生成 .python-version 文件
python --version # 输出类似 "Python 3.9.18"
若需要安装Ubuntu仓库及PPA中未提供的Python版本(如3.13及以上),可从Python官网下载源码编译安装。
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -y
Python-3.13.0.tgz),使用wget下载:wget https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz
tar -xf Python-3.13.0.tgz
cd Python-3.13.0
configure脚本,启用优化(--enable-optimizations会提升Python性能,但会增加编译时间):./configure --enable-optimizations
make编译源码(-j$(nproc)会根据CPU核心数并行编译,加快进度),然后使用altinstall安装(避免覆盖系统默认的python3):make -j$(nproc)
sudo make altinstall
python3.13 --version # 输出类似 "Python 3.13.0"
python3命令默认指向系统自带的Python版本(如Ubuntu 22.04的python3.10),使用altinstall而非install可防止破坏系统依赖。zlib会导致无法编译zipfile模块)。以上方法覆盖了多数场景,可根据需求选择合适的方式安装特定版本的Python。