当前位置: 首页 > 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

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

相关文章:

Ubuntu快速安装Python3.11及多版本管理

之前文章和大家分享过,将会出一篇专栏(从电脑装ubuntu系统,到安装ubuntu的常用基础软件:jdk、python、node、nginx、maven、supervisor、minio、docker、git、mysql、redis、postgresql、mq、ollama等),目前…...

Qt功能区:Ribbon使用

Ribbon使用 1. Ribbon功能区介绍1.1 样式 2. 基本功能区设置2.1 安装动态库(推荐)2.2 在MainWindow中使用Ribbon2.3 在QWidget中使用SARibbonBar2.4 创建Category和Pannel2.5 ContextCategory 上下文标签创建 2.6 ApplicationButton2.7 QuickAccessBar和…...

【学习心得】Jupyter 如何在conda的base环境中其他虚拟环境内核

如果你在conda的base环境运行了jupyter lab打开了一个ipynb文本,此时选择的内核是base虚拟环境的Python内核,如果我想切换成其他conda虚拟环境来运行这个文件该怎么办?下面我们试着还原一下问题,并且解决问题。 【注】 这个问题出…...

在微创手术中使用Kinova轻型机械臂进行多视图图像采集和3D重建

在微创手术中,Kinova轻型机械臂通过其灵活的运动控制和高精度的操作能力,支持多视图图像采集和3D重建。这种技术通过机械臂搭载的光学系统实现精准的多角度扫描,为医疗团队提供清晰且详细的解剖结构模型。其核心在于结合先进的传感器配置与重…...

[Java][Leetcode middle] 238. 除自身以外数组的乘积

第一个想法是: 想求出所有元素乘积,然后除以i对应的元素本书;这个想法是完全错误的: nums[I] 可能有0题目要求了不能用除法 第二个想法是: 其实写之前就知道会超时,但是我什么都做不到啊! 双…...

【leetcode】144. 二叉树的前序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 解释: 示例 2: 输入:root [1,2,3,4,5,null,8,null,null,6,7,9] 输出&#xff1a…...

SpringBoot常用注解详解

文章目录 1. 前言2. 核心注解2.1 SpringBootApplication2.2 Configuration2.3 EnableAutoConfiguration2.4 ComponentScan2.5 Bean2.6 Autowired2.7 Qualifier2.8 Primary2.9 Value2.10 PropertySource2.11 ConfigurationProperties2.12 Profile 3. Web开发相关注解3.1 Control…...

中文分词与数据可视化02

jieba 库简介 jieba(结巴分词)是一个高效的中文分词工具,广泛用于中文自然语言处理(NLP)任务。它支持以下功能: 分词:将句子切分为独立的词语。 自定义词典:添加专业词汇或新词&am…...

SSH主机密钥验证失败:全面解决方案与技术手册

一、问题本质与安全机制解析 SSH(Secure Shell)的主机密钥验证是安全通信的核心机制,当出现"Host key verification failed"错误时,表明客户端检测到服务器身份异常。这种设计可有效防范中间人攻击(Man-in-the-Middle),其工作原理…...

buuctf Crypto-鸡藕椒盐味1

1.题目: 公司食堂最新出了一种小吃,叫鸡藕椒盐味汉堡,售价八块钱,为了促销,上面有一个验证码,输入后可以再换取一个汉堡。但是问题是每个验证码几乎都有错误,而且打印的时候倒了一下。小明买到了一个汉堡&a…...

真题卷001——算法备赛

蓝桥杯2024年C/CB组国赛卷 1.合法密码 问题描述 小蓝正在开发自己的OJ网站。他要求用户的密码必须符合一下条件: 长度大于等于8小于等于16必须包含至少一个数字字符和至少一个符号字符 请计算一下字符串,有多少个子串可以当作合法密码。字符串为&am…...

基于MCP的桥梁设计规范智能解析与校审系统构建实践

引言 在腾讯云开发者社区中,有多种MCP工具可以用于本系统的开发和优化中,以下是一些潜在的应用场景: ‌PDF解析工具‌:如pdfplumber等,可以用于规范文件的预处理,提取文本和图像信息。‌自然语言处理工具…...

matlab与python问题解析

Python requests乱码的五种解决办法 Python requests乱码的五种解决办法_requests.get乱码-CSDN博客 requests库post请求参数data、json和files的使用 requests库post请求参数data、json和files的使用_requests post data-CSDN博客 如何在浏览器中查看POST请求提交的数据内…...

【分布式锁通关指南 10】源码剖析redisson之MultiLock的实现

引言 本期我们将把目光聚焦在 Redisson 中另一个颇具代表性的分布式锁实现——MultiLock。它的核心思想是:一次性对多个独立的 RLock 进行加锁或解锁操作,只有当多个锁都成功加锁时才算真正完成锁的获取,一旦有任何一个失败,整体操…...

MySQL 8.0 OCP 1Z0-908 131-140题

Q131.You have upgraded the MySQL binaries from 5.7.28 to 8.0.18 by using an in-place upgrade. Examine the message sequence generated during the first start of MySQL 8.0.18: 。。。[System]。。。/usx/sbin/mysqld (mysqld 8.0.18-commercial) starting as process…...

实战解析MCP-使用本地的Qwen-2.5模型-AI协议的未来?

文章目录 目录 文章目录 前言 一、MCP是什么? 1.1MCP定义 1.2工作原理 二、为什么要MCP? 2.1 打破碎片化的困局 2.2 实时双向通信,提升交互效率 2.3 提高安全性与数据隐私保护 三、MCP 与 LangChain 的区别 3.1 目标定位不同 3.…...

从零开始学习three.js(20):three.js实现天气与时间动态效果(白天,黑夜,下雨,下雪)

基于Three.js的天气与时间动态效果实现 本文将通过代码解析,介绍如何使用Three.js实现动态天气(下雨、下雪)和时间(白天、黑夜)切换效果。完整代码基于一个交互式天气模拟项目,支持粒子密度、速度和环境亮…...

sqli-labs靶场23-28a关(过滤)

目录 less23(--过滤) less24(二次注入) less25(or过滤) less25a(or过滤) less26(--和空格过滤报错) less26a(--空格过滤盲注) …...

Sigmoid与Softmax:从二分类到多分类的深度解析

Sigmoid与Softmax:从二分类到多分类的深度解析 联系 函数性质:二者都是非线性函数 ,也都是指数归一化函数,可将输入值映射为0到1之间的实数 ,都能把输出转化成概率分布的形式,在神经网络中常作为激活函数使用。Softmax是Sigmoid的推广:从功能角度看,Softmax函数可视为…...

uni-app x正式支持鸿蒙原生应用开发

DCloud发布的HBuilderX 4.64正式版,支持编译uni-app x项目到鸿蒙平台,实现跨平台开发鸿蒙原生应用。至此,uni-app x 已经完成Android、iOS、鸿蒙、Web、微信小程序等主流平台全覆盖。 uni-app x,是下一代 uni-app,是一…...

【软件推荐——pdf2docx】

pdf2docx Open source Python library for converting PDF to DOCX. https://github.com/ArtifexSoftware/pdf2docx Install pip install pdf2docx使用 from pdf2docx import Converterpdf_file D:\my\c4611_sample_explain.pdf docx_file D:\my\c4611_sample_explain.d…...

HarmonyOS开发组件基础

个人简介 👨‍💻‍个人主页: 魔术师 📖学习方向: 主攻前端方向,正逐渐往全栈发展 🚴个人状态: 研发工程师,现效力于政务服务网事业 🇨🇳人生格言&…...

JMeter 测试工具--组件--简单介绍

目录 ​编辑 一、测试计划(Test Plan) 二、线程组(Thread Group) 三、取样器(Sampler) 四、监听器(Listener) 五、逻辑控制器(Logic Controller) 六、断…...

ECPF 简介

ECPF(Embedded CPU Function,嵌入式CPU功能)是NVIDIA BlueField DPU特有的一种功能类型,和PF(Physical Function,物理功能)、VF(Virtual Function,虚拟功能)密…...

【Opencv】canny边缘检测提取中心坐标

采用opencv 对图像中的小球通过canny边缘检测的方式进行提取坐标 本文介绍了如何使用OpenCV对图像中的小球进行Canny边缘检测,并通过Zernike矩进行亚像素边缘检测,最终拟合椭圆以获取小球的精确坐标。首先,图像被转换为灰度图并进行高斯平滑…...

C#实现访问远程硬盘(附源码)

在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件。那么,这样的远程硬盘功能要怎么实现了? 这次我们将给出…...

AI日报 · 2025年05月16日|Google DeepMind推出AlphaEvolve,能自主设计高级算法的编码代理

全球AI新闻日报 日期:2025年5月16日 目录 OpenAI与CoreWeave签署40亿美元新协议,GPT-4.1模型全面推出Google DeepMind推出AlphaEvolve,能自主设计高级算法的编码代理Anthropic律师因Claude模型虚构法律引用被迫道歉Meta推迟旗舰AI模型&quo…...

TCP/IP 知识体系

TCP/IP 知识体系 一、TCP/IP 定义 全称:Transmission Control Protocol/Internet Protocol(传输控制协议/网际协议)核心概念: 跨网络实现信息传输的协议簇(包含 TCP、IP、FTP、SMTP、UDP 等协议)因 TCP 和…...

记一次缓存填坑省市区级联获取的操作

先说缓存是什么? 缓存主要是解决高并发,大数据场景下,热点数据快速访问。缓存的原则首先保证数据的准确和最终数据一致,其次是距离用户越近越好,同步越及时越好。 再说我们遇到的场景: 接手项目后&#…...

【时空图神经网络 交通】相关模型2:STSGCN | 时空同步图卷积网络 | 空间相关性,时间相关性,空间-时间异质性

注:仅学习使用~ 前情提要: 【时空图神经网络 & 交通】相关模型1:STGCN | 完全卷积结构,高效的图卷积近似,瓶颈策略 | 时间门控卷积层:GLU(Gated Linear Unit),一种特殊的非线性门控单元目录 STSGCN-2020年1.1 背景1.2 模型1.2.1 问题背景:现有模型存在的问题1.2…...

uniapp实现在线pdf预览以及下载

uniapp实现在线pdf预览以及下载 在线预览 遇到的问题 后端返回一个url地址,我需要将在在页面中渲染出来。因为在浏览器栏上我输入url地址就可以直接预览pdf文件,因此直接的想法是通过web-view组件直接渲染。有什么问题呢?在h5端能够正常渲…...

【Rust闭包】rust语言闭包函数原理用法汇总与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

裸金属服务器和云服务器之间的差别

裸金属服务器能够直接在硬件上运行,不需要额外的虚化层,让每个应用程序或者是服务都能够在实际的硬件上运行,不需要和其他虚拟服务器来共享资源;而云服务器作为一种虚拟服务器,是通过虚拟化技术为企业提供一个独立的计…...

CentOS系统中升级Python 3.12.2版本

在CentOS系统中升级Python版本是一项常见的操作,尤其是在需要使用较新功能或满足某些软件依赖的情况下。以下是详细的步骤和注意事项,帮助您顺利完成Python版本的升级。 1. 升级Python版本前的准备 在开始升级之前,请确保以下几点&#xff1…...

win10-django项目与mysql的基本增删改查

以下都是在win10系统下,django项目的orm框架对本地mysql的表的操作 models.py----->即表对应的类所在的位置 在表里新增数据 1.引入表对应的在models.py中的类class 2.在views.py中使用函数:类名.objects.create(字段名值,字段名"值"。。。…...

图像处理:预览并绘制图像细节

前言 因为最近在搞毕业论文的事情,要做出一下图像细节对比图,所以我这里写了两个脚本,一个用于框选并同时预览图像放大细节,可显示并返回框选图像的坐标,另外一个是输入框选图像的坐标并将放大的细节放置在图像中&…...

针对面试-微服务篇

1.Spring Cloud 5大组件有哪些? 随着SpringCloudAlibba在国内兴起,我们项目中使用了一些阿里巴巴的组件 注册中心/配置中心 Nacos 负载均衡 Ribbon 服务调用 Feign 服务保护 sentinel 服务网关 Gateway 2. 我看你之前也用过nacos、你能说下nacos与eureka的区别?…...

SRS流媒体服务器(5)源码分析之RTMP握手

1.概述 学习 RTMP 握手逻辑前,需明确两个核心问题: rtmp协议连接流程阶段rtmp简单握手和复杂握手区别 具体可以学习往期博客: RTMP协议分析_rtmp与264的关系-CSDN博客 2.rtmp握手源码分析 2.1 握手入口 根据SRS流媒体服务器(4)可知&am…...

线程池(ThreadPoolExecutor)实现原理和源码细节是Java高并发面试和实战开发的重点

一、线程池核心流程图 ----------------- | 提交任务 | submit/execute -----------------|v ----------------- | 判断核心线程数 | < corePoolSize&#xff1f; -----------------|Yes |Nov v [创建新线程] -----------------| 队列是否满&a…...

C# DataGridView 选中所有复选框

问题描述 在程序中尝试选中所有复选框&#xff0c;但出现错误。如果单击顶部的完整选中/释放复选框&#xff0c;同时选中包含复选框的列&#xff0c;则选定区域不会改变。该如何解决&#xff1f; 上面的图片是点击完整版本之后的。 下面是本文的测试代码&#xff0c;函数 dat…...

linux 服务器安装jira-8.22.0和confluence-8.5.21

前提&#xff1a; 下载资源包 z_atlassian-agent-v1.3.1.zip z_atlassian-confluence-8.5.21-x64.zip z_atlassian-jira-software-8.22.0-x64.zip z_jdk-8u131-linux-x64.tar.gz z_postgresql-12.0.tar.gz 可通过作者本身资源库下载 一&#xff1a;服务器构建文件夹 mkdir /z …...

【计算机网络】HTTP/1.0,HTTP/1.1,HTTP/2,HTTP/3汇总讲解,清晰表格整理面试重点对比

表格汇总 对比维度HTTP/1.0HTTP/1.1HTTP/2HTTP/3传输协议TCPTCPTCP/TLS&#xff08;默认加密&#xff09;UDP&#xff08;基于 QUIC 协议&#xff09;连接方式短连接&#xff08;每次请求/响应后断开&#xff09;引入持久连接&#xff08;Persistent Connection&#xff09;&a…...

Go语言之路————并发

Go语言之路————并发 前言协程管道SelectsyncWaitGroup锁 前言 我是一名多年Java开发人员&#xff0c;因为工作需要现在要学习go语言&#xff0c;Go语言之路是一个系列&#xff0c;记录着我从0开始接触Go&#xff0c;到后面能正常完成工作上的业务开发的过程&#xff0c;如…...

python的家教课程管理系统

目录 技术栈介绍具体实现截图系统设计研究方法&#xff1a;设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理&#xff0c;难度适中&#xf…...

0x08.Redis 支持事务吗?如何实现?

回答重点 Redis 支持事务,但它的事务与 MySQL 等关系型数据库的事务有着本质区别。MySQL 中的事务严格遵循 ACID 特性,而 Redis 中的事务主要保证的是命令执行的原子性和隔离性,即所有命令在一个不可分割的操作中顺序执行,不会被其他客户端的命令请求所打断。 最关键的区…...

互联网应用的安全防线-身份证实名认证api-身份证三要素验证

随着联网技术的普及&#xff0c;互联网应用已深度渗透人们的生活&#xff0c;从购物下单到社交互动&#xff0c;从金融理财到在线教育&#xff0c;每一次的联网互动都隐藏着一个关乎安全与信任的“隐形卫士”-身份证实名认证接口功能。它如同数字世界的“电子身份证”&#xff…...

本地跑通vue-element-admin项目

GitHub - PanJiaChen/vue-element-admin: :tada: A magical vue admin https://panjiachen.github.io/vue-element-admin 通过加速clone到本地 git clone https://gitclone.com/github.com/PanJiaChen/vue-element-admin.git # 进入项目目录 cd vue-element-admin # 安装依赖…...

el-table表格列宽度自适应

需求&#xff1a;表格错误描述列 要求按照内容最大值设置宽度&#xff1b;如果没有值 则设置最小宽度 <el-table-columnv-else-if"item.prop errorDescription":key"item.code":width"flexColumnWidth(errorDescription, tableConfigA.tableDataA…...

Mysql存储过程(附案例)

​ 文章目录 存储过程概述1、基本语法2、变量①、系统变量②、用户自定义变量③、局部变量 3、流程控制语句①、if语句②、参数③、case语句④、while语句⑤、repeat语句⑥、loop语句⑦、cursor游标⑧、handler 4、存储函数 存储过程概述 存储过程是事先经过编译并存储在数据…...

宇树科技申请 “机器人牌照” 商标,剑指机器人领域新高度​

近日&#xff0c;据天眼查信息显示&#xff0c;杭州宇树科技有限公司有了一项重大举动&#xff0c;其申请注册了 “机器人牌照”“机牌”“Robot license”“Robot plate” 等商标&#xff0c;国际分类涉及科学仪器、运输工具、广告销售等多个领域&#xff0c;当前商标状态均为…...