Ubuntu上Python版本如何选择安装
小樊
40
2025-12-28 06:44:55
Ubuntu上Python版本选择与安装指南
一 版本选择建议
优先选择Python 3.x 。Python 2 已于2020年 停止支持,除非维护遗留项目,不建议在新项目中使用。
通用开发与追求新特性:选择最新稳定版(如 3.12.x) ,可获得更好的语法、性能与工具链支持。
科学计算与数据分析:选择3.9–3.11 ,主流库(如NumPy、Pandas、Matplotlib )在这些版本上支持最成熟。
机器学习与深度学习:选择3.8–3.11 ,如TensorFlow 与PyTorch 对该区间的兼容性更好。
Web开发:选择3.8+ (如Django、Flask、FastAPI 均稳定运行)。
嵌入式或低资源环境:考虑MicroPython (物联网)或PyPy (高性能 JIT,兼容3.9+ )。
系统与工具链:优先使用LTS (如20.04、22.04 )。默认版本通常为:20.04 → 3.8 、22.04 → 3.10 。计算密集型任务可优先3.11+ ;若需进一步提升性能,可考虑PyPy 。
二 安装方式
系统包管理器 APT(新手推荐)
更新索引并安装默认 Python 3:
sudo apt update && sudo apt install python3
安装指定小版本(示例:3.10 ):
sudo apt install python3.10
验证:python3.10 --version
第三方 PPA(获取更多版本)
添加 deadsnakes PPA 并安装(示例:3.11 ):
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11
源码编译(自定义与性能优化)
安装构建依赖:
sudo apt install -y build-essential libssl-dev libffi-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
下载、配置、编译与安装(示例:3.12.0 ):
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
tar -xf Python-3.12.0.tgz && cd Python-3.12.0
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall # 避免覆盖系统默认 python3
验证:python3.12 --version
版本管理工具 pyenv(多版本并存与切换)
安装:curl https://pyenv.run | bash(按提示将 pyenv 加入 PATH)
安装与切换版本:
pyenv install 3.10.12
pyenv global 3.10.12 # 全局默认
pyenv local 3.8.18 # 仅当前项目生效(生成 .python-version)
三 切换与默认版本管理
使用 update-alternatives 管理系统默认 python3(推荐)
注册候选版本(示例:3.10 与 3.11 ):
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
交互式选择:sudo update-alternatives --config python3
如需将 python 命令也纳入管理(谨慎):
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo update-alternatives --config python
注意:不要随意移除或替换系统自带的 python3 ,因为 apt 等系统工具依赖它。
四 虚拟环境与依赖管理
使用 venv 隔离项目依赖(强烈推荐)
创建(示例基于 3.10 ):python3.10 -m venv .venv
激活:source .venv/bin/activate
退出:deactivate
在虚拟环境中使用 pip:pip install -r requirements.txt
多项目多版本:结合 pyenv local 与 venv ,为每个项目固定解释器与依赖。
加速与镜像(可选):pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple。
五 常见问题与注意事项
避免覆盖系统默认 python3 ;如需切换,请使用 update-alternatives ,切勿删除系统包。
安装前准备依赖:build-essential、libssl-dev、libffi-dev、zlib1g-dev、libbz2-dev、libreadline-dev、libsqlite3-dev 等。
源码安装使用 make altinstall ,避免替换 /usr/bin/python3。
为关键项目使用虚拟环境,减少依赖冲突;定期用 pip list --outdated 与 pipdeptree 检查升级与依赖关系。
迁移或升级前备份代码、requirements.txt 与数据库;涉及生产环境先在测试环境验证。