在 Ubuntu 上安装 Python 的常用方法

想在 Ubuntu 上顺利跑起 Python 项目,选对安装方法是第一步。不同的场景,从快速部署到深度定制,其实各有其道。下面这几种主流方案,基本覆盖了从新手到开发者的所有需求。
一 使用 APT 快速安装(推荐)
对于绝大多数用户和追求稳定的系统运维场景,最省心的方法莫过于直接使用 Ubuntu 自带的 APT 包管理器。一句话概括:简单、稳定、开箱即用。
- 更新索引并安装:
- 首先,用
sudo apt update刷新一下软件包列表。 - 接着,一条命令搞定 Python 3 和包管理工具:
sudo apt install python3 python3-pip。
- 首先,用
- 验证版本:
- 安装完成后,别忘了确认一下:
python3 --version和pip3 --version。
- 安装完成后,别忘了确认一下:
- 安装特定小版本(若仓库提供):
- 如果官方仓库恰好提供了你需要的某个小版本,比如 Python 3.10,也可以直接指定安装:
sudo apt install python3.10。
- 如果官方仓库恰好提供了你需要的某个小版本,比如 Python 3.10,也可以直接指定安装:
- 说明: APT 方式最大的优势就是省事,系统会自动处理依赖关系,适合追求效率和稳定性的日常使用。
二 安装特定版本 via Deadsnakes PPA
如果系统仓库里的 Python 版本不够新,或者你需要一个官方仓库未覆盖的特定 3.x 版本,该怎么办?这时候,第三方 PPA(个人软件包存档)就派上用场了。其中,Deadsnakes PPA 是社区内非常受信赖的一个来源。
- 添加 PPA 并安装:
- 先把仓库加进来:
sudo add-apt-repository ppa:deadsnakes/ppa。 - 同样,更新软件包列表:
sudo apt update。 - 然后安装你想要的版本,例如 Python 3.9:
sudo apt install python3.9。
- 先把仓库加进来:
- 验证:
- 通过
python3.9 --version来确认安装成功。
- 通过
- 适用: 这个方法完美解决了“需要较新或特定版本”的需求,是 APT 官方源的有效补充。
三 从源码编译安装(可定制与性能优化)
对于有极致性能要求,或者需要对 Python 解释器本身进行深度定制的开发者来说,从源代码编译安装是终极选择。这个过程虽然稍显复杂,但带来的控制力和潜在的性能提升是值得的。
- 安装构建依赖:
- 工欲善其事,必先利其器。首先得把编译需要的依赖包都装上:
sudo apt updatesudo apt install -y build-essential libssl-dev libffi-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev wget curl llvm git
- 工欲善其事,必先利其器。首先得把编译需要的依赖包都装上:
- 下载与解压(以 3.12.7 为例,可按需替换版本):
- 从 Python 官网下载源码包:
wget https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz - 解压并进入目录:
tar -xf Python-3.12.7.tgz && cd Python-3.12.7
- 从 Python 官网下载源码包:
- 配置、编译与安装(并行编译加速,避免覆盖系统默认解释器):
- 配置编译选项,启用优化:
./configure --enable-optimizations - 开始编译,使用
-j $(nproc)参数可以调用所有 CPU 核心,大幅加快速度:make -j $(nproc) - 使用
altinstall安装,这是关键一步,可以防止覆盖系统自带的python3命令:sudo make altinstall
- 配置编译选项,启用优化:
- 验证:
- 完成后,使用
python3.12 --version检查新安装的版本。
- 完成后,使用
- 提示: 这里有两个要点需要注意。
--enable-optimizations选项会进行一系列优化,但会导致编译时间显著延长。而make altinstall则是多版本共存而不冲突的保障,务必使用。
四 使用 Pyenv 进行多版本管理(开发者推荐)
如果你是一名开发者,经常需要在不同项目间切换 Python 版本,那么一个专业的版本管理工具必不可少。Pyenv 正是为此而生,它能让你在同一台机器上无缝管理多个 Python 版本和虚拟环境。
- 安装依赖(一次性):
- 首先安装 Pyenv 所需的系统依赖,这和源码编译的依赖列表高度重合:
sudo apt updatesudo 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 python-openssl git
- 首先安装 Pyenv 所需的系统依赖,这和源码编译的依赖列表高度重合:
- 安装 pyenv:
- 通过官方的一键安装脚本安装 Pyenv 本身:
curl https://pyenv.run | bash
- 通过官方的一键安装脚本安装 Pyenv 本身:
- 配置 Shell(写入 ~/.bashrc 或 ~/.zshrc):
- 安装后,需要将初始化命令添加到你的 Shell 配置文件中:
echo -e 'export PATH="$HOME/.pyenv/bin:$PATH"\neval "$(pyenv init --path)"\neval "$(pyenv init -)"\neval "$(pyenv virtualenv-init -)"' >> ~/.bashrc - 让配置立即生效:
source ~/.bashrc
- 安装后,需要将初始化命令添加到你的 Shell 配置文件中:
- 安装与切换版本:
- 现在,你可以轻松安装任何版本的 Python,例如:
pyenv install 3.12.7 - 切换版本更是灵活,可以设置全局默认版本:
pyenv global 3.12.7,也可以仅为当前项目目录设置局部版本:pyenv local 3.12.7。
- 现在,你可以轻松安装任何版本的 Python,例如:
- 验证:
- 使用
python --version查看当前生效的版本。
- 使用
- 说明: Pyenv 的核心价值在于“隔离”与“切换”。它彻底解决了多版本并存带来的命令冲突问题,是 Python 开发者的标配工具。
五 虚拟环境与常见问题
无论用哪种方式安装了 Python,项目环境的隔离都是下一个关键步骤。同时,一些常见的小问题也值得提前了解。
- 使用标准库 venv 创建隔离环境:
- 首先确保安装了 venv 模块:
sudo apt install python3-venv(如果未安装)。 - 在项目目录中创建虚拟环境:
python3 -m venv .venv - 激活环境:
source .venv/bin/activate - 退出环境:
deactivate
- 首先确保安装了 venv 模块:
- 多版本切换的补充方式(系统级 alternatives,谨慎使用):
- 对于不使用 Pyenv 的情况,Ubuntu 系统提供了一个
update-alternatives工具来管理全局默认版本。使用sudo update-alternatives --config python3后按提示选择。但请注意,这种方式是系统级的,修改需谨慎。
- 对于不使用 Pyenv 的情况,Ubuntu 系统提供了一个
- 常见问题速解:
- 找不到 python3/pip3: 首先检查是否安装成功,然后尝试重新加载 Shell 配置:
source ~/.bashrc。 - 编译时报缺依赖: 回头仔细核对上文“源码编译”部分的依赖清单,补齐后重试。
- 命令冲突或覆盖系统版本: 这是最需要警惕的。编译安装时务必使用
make altinstall;对于多版本需求,强烈推荐使用 Pyenv 管理,一劳永逸。
- 找不到 python3/pip3: 首先检查是否安装成功,然后尝试重新加载 Shell 配置:
