如何在 Ubuntu 20.04 或 22.04 上安装 Python 3

以下是关于如何在 Ubuntu 20.04 或 22.04 上安装 Python 3 的详细步骤。Python 是一种广泛使用的编程语言,适用于自动化、数据分析、机器学习等领域。Ubuntu 系统通常预装了 Python 3,但如果需要安装或升级到最新版本,可以按照以下方法操作。

检查系统是否已安装 Python 3

  1. 打开终端(快捷键:Ctrl + Alt + T)。
    • 如果输出显示 Python 版本号(例如 Python 3.8.10Python 3.10.2),说明系统已安装 Python 3。
    • 如果显示错误信息(如 command not found),则需要安装 Python 3。

输入以下命令检查是否已安装 Python 3:

python3 --version

方法 1:使用 APT 从默认存储库安装 Python 3

Ubuntu 的默认存储库通常包含稳定版本的 Python 3。以下是安装步骤:

验证安装:

python3 --version

这将显示已安装的 Python 3 版本。

安装 Python 3:

sudoaptinstall python3 -y

更新系统包列表:

sudoapt update 

方法 2:通过 Deadsnakes PPA 安装最新版本的 Python 3

如果需要安装比默认存储库更新的 Python 版本,可以使用 Deadsnakes PPA:

验证安装:

python3.11 --version

安装所需的 Python 版本(例如 Python 3.11):

sudoaptinstall python3.11 -y

添加 Deadsnakes PPA:

sudoaptinstall software-properties-common -ysudo add-apt-repository ppa:deadsnakes/ppa -ysudoapt update 

方法 3:从源代码编译安装 Python

如果需要完全自定义安装,可以从 Python 官方网站下载源代码并编译:

验证安装:

python3.<版本号>--version

解压并编译:

tar-xf Python-<版本号>.tgz cd Python-<版本号> ./configure --enable-optimizations make-j$(nproc)sudomake altinstall 

注意:使用 make altinstall 而不是 make install,以避免覆盖系统默认的 python3

下载 Python 源代码:

curl-O https://www.python.org/ftp/python/<版本号>/Python-<版本号>.tgz 

<版本号> 替换为所需的 Python 版本号(例如 3.11.5)。

安装必要的依赖项:

sudoapt update sudoaptinstall-y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl

设置虚拟环境(可选)

为了隔离项目依赖,建议使用虚拟环境:

退出虚拟环境:

deactivate 

激活虚拟环境:

source myenv/bin/activate 

创建虚拟环境:

python3 -m venv myenv 

安装 venv 模块:

sudoaptinstall python3-venv -y

总结

  • Ubuntu 20.04 默认安装 Python 3.8,Ubuntu 22.04 默认安装 Python 3.10。如果需要更高版本,可以通过 Deadsnakes PPA 或从源代码安装。
  • 使用虚拟环境可以有效管理项目依赖,避免冲突。

Read more

【Day01】堆与字符串处理算法详解

【Day01】堆与字符串处理算法详解

坚持用清晰易懂的图解+代码语言,让每个知识点变得简单! 🚀呆头个人主页详情 🌱 呆头个人Gitee代码仓库 📌 呆头详细专栏系列 座右铭:“不患无位,患所以立。” 【Day01】堆与字符串处理算法详解 * 摘要 * 目录 * 一、堆数据结构基础 * 堆的基本操作 * 堆排序 * 二、字符串处理算法 * 1. 有效的字母异位词 * 2. 判断字符串的两半是否相似 * 3. 字符串最后一个单词的长度 * 4. 验证回文串 * 三、堆相关选择题解析 * 总结 摘要 本文包含:编程题与堆相关选择题 【力扣242】有效的字母异位词【链接直达----------请点击】 【力扣1704】判断字符串的两半是否相似【链接直达----------请点击】 【牛客HJ1】字符串最后一个单词的长度【链接直达----------请点击】 【力扣125】验证回文串【链接直达----------请点击】 📌 坚持打卡: 算法没有捷径,但正确的方法能让你少走弯路。每天15分钟,和我一起用代码雕刻思维!

By Ne0inhk
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU

【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU

系列文章目录 文章目录 * 系列文章目录 * 一、LRU缓存算法 * 1.哈希表 + 双向链表 * 二、LFU缓存算法 * 1、哈希表 + 平衡二叉树 * 2、双哈希表 * 三、总结 一、LRU缓存算法 1.哈希表 + 双向链表 1.题目链接:LRU缓存 2.题目描述: 3.算法思路: 1.双向链表 + 哈希表 组合: 双向链表(带哑头 / 哑尾节点):维护缓存节点的访问顺序,最近使用的节点放在链表头部,最少使用的节点放在链表尾部(淘汰时直接删尾部); 哈希表(cache):实现 key 到节点的 O (1) 快速查找,解决链表遍历查找慢的问题; 2.

By Ne0inhk
【数据结构初阶】--从“最小值筛选”到代码落地,解锁选择排序的核心思想!

【数据结构初阶】--从“最小值筛选”到代码落地,解锁选择排序的核心思想!

🔥@晨非辰Tong: 个人主页 👀专栏:《C语言》、《数据结构与算法入门指南》 💪学习阶段:C语言、数据结构与算法初学者 ⏳“人理解迭代,神理解递归。” 文章目录 * --引言 * 一、排序宗门:选择排序 * 1.1 流派基本思想 * 二、 流派1:直接选择排序 * 1.1 基本思想 * 1.1.1 算法思路 * 1.1.2 特性总结 * 1.2 排序源码呈现 * 1.2.1 残缺排序功法 * 1.2.2 完成排序功法 * 1.3 ==注意要点== * 三、流派2:堆排序 * 3.

By Ne0inhk
【数据结构与算法】指针美学与链表思维:单链表核心操作全实现与深度精讲

【数据结构与算法】指针美学与链表思维:单链表核心操作全实现与深度精讲

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《C语言》《【初阶】数据结构与算法》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、查找 * 二、指定位置之前或之后插入元素 * 2.1 在指定位置之前 * 2.2 在指定位置之后 * 三、指定位置删除或指定位置之后删除 * 3.1 在指定位置 * 3.2 指定位置之后 * 四、代码展现 * 4.1 SList.h * 4.2 SList.c * 4.3 test.c * 五、顺序表和链表的区别 * 总结与每日励志 前言

By Ne0inhk