当前位置: 首页 > news >正文

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

四、注意事项

  1. 系统自带的 Python(如 /usr/bin/python3)不要卸载,可能影响系统功能
  2. 推荐使用虚拟环境管理项目依赖:
# 进到python工程目录下,使用以下命令创建虚拟环境,同层目录会多出个/myenv
python3.11 -m venv myenv
# 激活/myenv目录虚拟环境
source myenv/bin/activate

python各版本对比详解

一、推荐版本

  1. 新项目优先选择
    • Python 3.11/3.12(最新稳定版):性能优化显著,适合新项目
    • Python 3.10:长期支持(LTS),兼容性广泛
    • Python 3.9:企业级应用常用稳定版本
  2. 特殊情况选择
    • 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.7dataclasses 模块、异步生成器、类型注解延迟求值遗留系统维护

三、选择依据

  1. 性能需求:3.11+ 解释器速度显著提升
  2. 新特性依赖:如需要 match-case(3.10+)或类型系统改进(3.12+)
  3. 兼容性要求
    • 第三方库支持(如 TensorFlow/PyTorch 通常滞后1-2个小版本)
    • 框架版本(如 Django 4.2 要求 Python ≥3.8)
  4. 维护周期
    • Python 3.12:2027年终止支持
    • Python 3.10:2026年终止支持
    • Python 3.9:2025年终止支持

四、实践建议

  1. 多版本管理:使用 pyenv(推荐)或 conda 管理多个版本
  2. 虚拟环境:为每个项目创建独立环境(venv/pipenv/poetry
  3. 升级策略
# 使用 pyenv 安装新版本并迁移
pyenv install 3.12.0
pyenv local 3.12.0
pip freeze > requirements.txt  # 旧环境导出依赖
pip install -r requirements.txt

五、版本生命周期参考

版本发布时间终止支持时间
3.122023-102028-10
3.112022-102027-10
3.10 (LTS)2021-102026-10
3.92020-102025-10

建议优先选择仍在支持周期内的版本,以获得安全更新和漏洞修复。

相关文章:

  • 提权脚本Powerup命令备忘单
  • Ubuntu系统安装VsCode
  • 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) | 珂学家
  • 牛客网NC22000:数字反转之-三位数
  • python打卡训练营Day27
  • Pywinauto:轻松实现Windows桌面自动化实战
  • 学习threejs,使用Physijs物理引擎,各种constraint约束限制
  • PCL 绘制二次曲面
  • 组件导航 (Navigation)+flutter项目搭建-混合开发+分栏
  • 如何更改远程桌面连接的默认端口?附外网访问内网计算机方法
  • Elasticsearch-kibana索引操作
  • AWS SageMaker vs Bedrock:该选哪个?
  • 基于支持向量机(SVM)的P300检测分类
  • FC7300 CAN MCAL 配置引导
  • 【生成式AI文本生成实战】从GPT原理到企业级应用开发
  • fpga系列 HDL : Microchip FPGA开发软件 Libero Soc 项目仿真示例
  • 最新模型集合(仅用于个人收集)
  • 笔试强训:Day5
  • Sigmoid与Softmax:从二分类到多分类的深度解析
  • SpringMVC 内容协商处理
  • 下周或迎外贸“抢出口”高峰,跨境电商敏感货物如何便利化“登机”?
  • 联合国:欢迎俄乌伊斯坦布尔会谈,希望实现全面停火
  • 王伟妻子人民日报撰文:81192,一架永不停航的战机
  • 百色一女子称家委会强制排班被迫抱婴儿校门口站岗?区教育局:自愿参与
  • 坚持吃素,是不是就不会得高血脂了?
  • 当番茄霸总遇上晋江古言,短剧IP小变局