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 updatesudo apt install python3(通常为3.8或3.10,取决于Ubuntu版本)sudo apt install python3.9python3.9 --version(显示版本号即为成功)。第三方PPA安装(获取最新版本)
若系统包管理器未提供所需版本(如3.11及以上),可使用deadsnakes PPA(Personal Package Archive):
sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt updatesudo apt install python3.11python3.11 --version。源码编译安装(自定义版本)
若需要完全自定义的Python版本(如3.12.0rc1),可通过源码编译:
sudo apt install -y build-essential libssl-dev libffi-dev zlib1g-devwget 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)和数据库,避免数据丢失。