在 Ubuntu 上安装 Python 的常用方法
一 使用 APT 快速安装(推荐)
- 更新索引并安装:
- sudo apt update
- sudo apt install python3 python3-pip
- 验证版本:
- python3 --version
- pip3 --version
- 安装特定小版本(若仓库提供):
- sudo apt install python3.10(示例)
- 说明:APT 方式简单、稳定,适合大多数用户与系统运维场景。
二 安装特定版本 via Deadsnakes PPA
- 添加 PPA 并安装:
- sudo add-apt-repository ppa:deadsnakes/ppa
- sudo apt update
- sudo apt install python3.9(示例)
- 验证:
- 适用:需要较新或仓库未覆盖的 Python 3.x 版本。
三 从源码编译安装(可定制与性能优化)
- 安装构建依赖:
- sudo apt update
- sudo 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 为例,可按需替换版本):
- 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
- 配置、编译与安装(并行编译加速,避免覆盖系统默认解释器):
- ./configure --enable-optimizations
- make -j $(nproc)
- sudo make altinstall
- 验证:
- 提示:–enable-optimizations 会进行优化,编译时间更长;使用 altinstall 可防止替换系统 python3。
四 使用 Pyenv 进行多版本管理(开发者推荐)
- 安装依赖(一次性):
- sudo apt update
- 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 python-openssl git
- 安装 pyenv:
- curl https://pyenv.run | bash
- 配置 Shell(写入 ~/.bashrc 或 ~/.zshrc):
- echo -e ‘export PATH=“$HOME/.pyenv/bin:$PATH”\neval “$(pyenv init --path)”\neval “$(pyenv init -)”\neval “$(pyenv virtualenv-init -)”’ >> ~/.bashrc
- source ~/.bashrc
- 安装与切换版本:
- pyenv install 3.12.7
- pyenv global 3.12.7(全局)或 pyenv local 3.12.7(项目目录局部)
- 验证:
- 说明:便于在同一台机器上并行管理多个 Python 版本与虚拟环境。
五 虚拟环境与常见问题
- 使用标准库 venv 创建隔离环境:
- sudo apt install python3-venv(若未安装)
- python3 -m venv .venv
- source .venv/bin/activate
- deactivate(退出)
- 多版本切换的补充方式(系统级 alternatives,谨慎使用):
- sudo update-alternatives --config python3(按提示选择版本)
- 常见问题速解:
- 找不到 python3/pip3:检查是否安装成功并重新加载 Shell(source ~/.bashrc)。
- 编译时报缺依赖:按上文依赖清单补齐后重试。
- 命令冲突或覆盖系统版本:优先使用 make altinstall;多版本建议用 pyenv 管理。