Linux 下 Python 安装的常见方式
在 Linux 上安装 Python 常见有4 种方式,按场景与可控性从低到高排列如下:
| 方式 |
适用场景 |
核心优点 |
主要风险或注意 |
| 系统包管理器安装 |
追求稳定、快速,满足日常开发与运维 |
安装简单、依赖自动处理、与系统兼容性好 |
仓库版本可能偏旧;避免替换系统自带的 /usr/bin/python |
| 从源码编译安装 |
需要特定版本、开启优化或自定义编译选项 |
版本可控、可启用 –enable-optimizations、可指定安装前缀 |
需先安装编译依赖;操作不当可能影响系统工具链 |
| 使用 pyenv 管理多版本 |
同时维护多个项目、需要在 3.x 间快速切换 |
多版本并存、按项目/目录切换、隔离方便 |
初次配置略繁琐;仍需处理编译依赖 |
| 使用容器或自动化脚本 |
环境隔离、CI/CD、快速复现环境 |
一致性强、可移植、回滚方便 |
需掌握 Docker 等工具;非本机直装,调试路径不同 |
方式一 系统包管理器安装
- Debian/Ubuntu 系
- 更新索引并安装:sudo apt update && sudo apt install python3 python3-pip
- 验证:python3 --version、pip3 --version
- RHEL/CentOS/Fedora 系
- 安装:sudo yum install python3(或 sudo dnf install python3),pip 可用 sudo yum install python3-pip(或 dnf)
- 验证:python3 --version、pip3 --version
- 要点:这是最稳妥、维护成本最低的方式;如需新版可考虑后述编译或 pyenv。
方式二 从源码编译安装
- 安装依赖(以 Debian/Ubuntu 为例):sudo apt install build-essential libssl-dev libffi-dev python3-dev libbz2-dev libsqlite3-dev libreadline-dev libncursesw5-dev tk-dev libgdbm-dev liblzma-dev zlib1g-dev
- 下载与解压:wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz && tar -xf Python-3.x.x.tgz && cd Python-3.x.x
- 配置与编译:./configure --enable-optimizations --prefix=/usr/local/python3.x && make -j $(nproc)
- 安装:sudo make altinstall(使用 altinstall 避免覆盖系统默认 python)
- 使用:/usr/local/python3.x/bin/python3.x 与 pip3.x;可按需加入 PATH 或创建软链接到 /usr/local/bin(谨慎操作)
方式三 使用 pyenv 管理多个 Python 版本
- 安装依赖(以 Debian/Ubuntu 为例):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
- 配置环境(写入 ~/.bashrc 或 ~/.zshrc):
- export PYENV_ROOT=“$HOME/.pyenv”
- export PATH=“$PYENV_ROOT/bin:$PATH”
- eval “$(pyenv init --path)”
- 重新加载:source ~/.bashrc
- 常用命令:pyenv install --list、pyenv install 3.x.x、pyenv global 3.x.x(或 local)、python --version
方式四 使用容器或自动化脚本
- 容器化方式(Docker)
- 示例:docker run --rm -it python:3.11 bash(拉起含指定 Python 的容器,环境隔离、便于 CI/CD 与复现)
- 自动化脚本
- 使用 pyenv 的自动化安装脚本(如 pyenv-installer)或组织内自研脚本,统一依赖与版本,便于批量部署与回滚
通用验证与注意事项
- 验证安装
- 版本:python3 --version(或 python --version)
- 包管理:pip3 --version;若缺失可用 sudo apt install python3-pip(或 dnf/yum)或 get-pip.py 安装
- 虚拟环境:python3 -m venv .venv && source .venv/bin/activate && which python
- 关键注意事项
- 不要替换或删除系统自带的 /usr/bin/python(很多系统工具如 yum/dnf 依赖它);如需自定义命令,请使用独立前缀或软链接到 /usr/local/bin 并使用 python3.x/pip3.x 明确调用
- 编译安装优先使用 make altinstall,避免覆盖系统默认解释器
- 多版本并存与切换优先用 pyenv,减少路径与环境变量冲突