Ubuntu快速安装Python3.11及多版本管理
之前文章和大家分享过,将会出一篇专栏(从电脑装ubuntu系统,到安装ubuntu的常用基础软件:jdk、python、node、nginx、maven、supervisor、minio、docker、git、mysql、redis、postgresql、mq、ollama等),目前CSDN专栏(https://blog.csdn.net/a13879442471/category_12899690.html)已经分享了**jdk、node、redis、ollama**的搭建,今天继续和大家分享ubuntu如何快速安装python3.11
那为何是3.11不是别的版本呢?主要现在Agent最主流框架LangGraph最新功能需要3.11以上版本,而且该版本也是目前大部分系统都支持的,底下我也将详细讲下python各个版本主要升级功能点!
Ubuntu 上安装 Python3.11及多版本管理器pyenv的详细步骤
一、Python3.11全自动命令安装步骤
1、更新软件包列表
sudo apt update
2、安装依赖项
sudo apt install -y software-properties-common
3、添加 deadsnakes PPA(包含较新 Python 版本):
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
4、安装Python3.11版本
sudo apt install -y python3.11 python3.11-dev python3.11-venv
这里安装可能会有点慢,一般5分钟内可以安装完,卡着没动情况可以使用手动安装方式
5、验证安装
python3.11 --version
二、ubuntu安装多版本管理器pyenv
1、安装依赖
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
2、手动安装 pyenv
一键安装命令如下,注意:国内服务器无法直接安装
curl https://pyenv.run | bash
可以看到国内服务器是无法直接连接下载的
这里我们使用手动安装方式
2.1、转换pyenv的github地址
github地址:https://github.com/pyenv/pyenv#
2.2、克隆到自己的服务器
我们使用虾壳加速后的地址转一道,再克隆到用户根目录下去,这里没有安装git的可以使用wget或者curl下载
git clone https://gh.llkk.cc/https://github.com/pyenv/pyenv.git ~/.pyenv
把pyenv工程拷贝到用户根目录.pyenv下
2.3、配置环境变量
添加pyenv的目录到配置文件~/.bashrc,按以下四步执行
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
执行完后可以输出常用pyenv命令检查安装结果
3、常用 pyenv 命令:
- 查看可安装版本:
pyenv install --list
- 安装指定版本:
pyenv install 3.9.7
- 查看已安装版本:
pyenv versions
- 设置全局版本:
pyenv global 3.9.7
- 设置局部版本(当前目录):
pyenv local 3.8.12
三、使用pyenv安装指定版本python
接下来,我们就可以通过pyenv的命令快捷安装python各个版本了,无需再通过方式一去安装一堆组件,这里我们以使用pyenv安装python 3.9.7为例
1、安装python3.9版本
直接运行以下命令安装python3.9.7(注意:这里安装会有点慢,不过还是可以安装的,耐心等待几分钟即可)
pyenv install 3.9.7
如果你确实下载不动,也可以使用以下替代方式,先把python包下载到.pyenv/cache/,使用pyenv install命令时会优先去查找本地缓存
wget https://registry.npmmirror.com/-/binary/python/3.9.7/Python-3.9.7.tar.xz -P ~/.pyenv/cache/pyenv install 3.9.7
优先推荐第一种直接下载方式,使用wget下载到缓存目录可能后期会有一系列报错要修复
2、设置全局安装版本
这里以设置3.9.7版本为例
pyenv global 3.9.7
设置后可以看到,使用python -V查询版本时,已经从默认的2.7.18升到了3.9.7
四、注意事项
- 系统自带的 Python(如
/usr/bin/python3
)不要卸载,可能影响系统功能 - 推荐使用虚拟环境管理项目依赖:
# 进到python工程目录下,使用以下命令创建虚拟环境,同层目录会多出个/myenv
python3.11 -m venv myenv
# 激活/myenv目录虚拟环境
source myenv/bin/activate
python各版本对比详解
一、推荐版本
- 新项目优先选择:
- Python 3.11/3.12(最新稳定版):性能优化显著,适合新项目
- Python 3.10:长期支持(LTS),兼容性广泛
- Python 3.9:企业级应用常用稳定版本
- 特殊情况选择:
- Python 3.7/3.8:仅限需要兼容旧库/框架的遗留项目
- 避免使用 Python 2.x:已于2020年停止官方支持
二、主要版本核心区别
版本 | 关键特性/改进 | 适用场景 |
---|---|---|
3.12 | 性能优化(更快的解释器)、错误提示增强、类型系统改进 | 新项目、追求性能的场景 |
3.11 | 性能提升25%-60%(Faster CPython)、异常链改进、TOML标准库支持 | 高性能计算、Web服务 |
3.10 | 结构化模式匹配(match-case )、更清晰的类型提示、错误定位优化 | 通用开发、长期维护项目 |
3.9 | 字典合并操作符(` | `)、类型提示语法简化、垃圾回收改进 |
3.8 | 海象运算符(:= )、仅位置参数(/ )、f-string 调试支持 | 需要新语法的脚本开发 |
3.7 | dataclasses 模块、异步生成器、类型注解延迟求值 | 遗留系统维护 |
三、选择依据
- 性能需求:3.11+ 解释器速度显著提升
- 新特性依赖:如需要
match-case
(3.10+)或类型系统改进(3.12+) - 兼容性要求:
- 第三方库支持(如 TensorFlow/PyTorch 通常滞后1-2个小版本)
- 框架版本(如 Django 4.2 要求 Python ≥3.8)
- 维护周期:
- Python 3.12:2027年终止支持
- Python 3.10:2026年终止支持
- Python 3.9:2025年终止支持
四、实践建议
- 多版本管理:使用
pyenv
(推荐)或conda
管理多个版本 - 虚拟环境:为每个项目创建独立环境(
venv
/pipenv
/poetry
) - 升级策略:
# 使用 pyenv 安装新版本并迁移
pyenv install 3.12.0
pyenv local 3.12.0
pip freeze > requirements.txt # 旧环境导出依赖
pip install -r requirements.txt
五、版本生命周期参考
版本 | 发布时间 | 终止支持时间 |
---|---|---|
3.12 | 2023-10 | 2028-10 |
3.11 | 2022-10 | 2027-10 |
3.10 (LTS) | 2021-10 | 2026-10 |
3.9 | 2020-10 | 2025-10 |
建议优先选择仍在支持周期内的版本,以获得安全更新和漏洞修复。