Ubuntu下Python版本选择的实用指南
优先选择Python 3.x
Python 2已于2020年停止官方支持,不再接收安全更新。除非维护遗留项目(如旧版Django 1.11),否则强烈推荐使用Python 3.x(如3.8及以上),以享受新语法(如f-string、类型注解)、性能优化(如零成本异常、更快的解释器)和工具支持(如最新的pip、Black代码格式化工具)。
根据使用场景匹配版本
考虑系统与工具链兼容性
系统包管理器安装(新手推荐)
Ubuntu的apt
包管理器可方便地安装默认或指定版本的Python(如3.8、3.9):
sudo apt update
sudo apt install python3
(通常为3.8或3.10,取决于Ubuntu版本)sudo apt install python3.9
python3.9 --version
(显示版本号即为成功)。第三方PPA安装(获取最新版本)
若系统包管理器未提供所需版本(如3.11及以上),可使用deadsnakes
PPA(Personal Package Archive):
sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update
sudo apt install python3.11
python3.11 --version
。源码编译安装(自定义版本)
若需要完全自定义的Python版本(如3.12.0rc1),可通过源码编译:
sudo apt install -y build-essential libssl-dev libffi-dev zlib1g-dev
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)
(--enable-optimizations
启用性能优化,-j $(nproc)
并行编译加速)sudo make altinstall
(避免覆盖系统默认Python)python3.12 --version
。版本管理工具(推荐多版本场景)
使用pyenv
可轻松管理多个Python版本(如同时安装3.8、3.10、3.12),并快速切换:
pyenv
:curl https://pyenv.run | bash
(需将~/.pyenv/bin
添加到PATH
,参考官方文档配置)pyenv install 3.10.12
(替换为目标版本)pyenv global 3.10.12
(所有终端生效)cd ~/myproject && pyenv local 3.8.18
(生成.python-version
文件,仅该项目生效)。虚拟环境隔离(避免冲突)
无论使用何种安装方式,均建议通过虚拟环境隔离项目依赖,防止版本冲突:
python3.10 -m venv myenv
(myenv
为虚拟环境目录)source myenv/bin/activate
(激活后终端提示符显示(myenv)
)pip install -r requirements.txt
(仅在当前虚拟环境中安装)deactivate
。apt
)依赖默认Python(通常为3.8或3.10),覆盖可能导致系统故障。建议使用update-alternatives
管理默认版本(如sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
),而非直接替换。pip list --outdated
查看过时的依赖库,通过pip install --upgrade package_name
升级,或使用pipdeptree
工具分析依赖关系,确保所有库与新版本Python兼容。requirements.txt
)和数据库,避免数据丢失。