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

如何在 Ubuntu 24.04 安装 Python 3.12 ?

How to Install Python 3.12 On Ubuntu 24.04

Python 是一种高级通用编程语言,用于各种领域包括数据科学,游戏应用程序,web 和移动应用程序开发。

在这篇博文中,我们将向你展示如何在 Ubuntu 24.04 上安装 python 3.12,包括如何编译和从源代码安装 Python 3.12.6。

使用 APT 安装 python 3.12

在 Ubuntu 24.04 中,Python 3.12 在默认的 apt 包中可用,可以直接使用命令安装。

$ sudo apt install python3.12 -y

安装成功后,使用以下命令验证 python 版本。

$ python3 --version

接下来,使用下面的命令安装 pip

$ sudo apt install -y python3-pip

安装完成后,验证 pip 版本

$ pip3 --version
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
$

在撰写本文时,最新的 Python 3 版本是 Python 3.12.6,要安装这个版本,我们需要从
python 的官方网站,然后编译安装。

从源代码安装 Python 3.12.6

安装从源代码构建 Python 所需的几个包

$ sudo apt install -y pkg-config build-essential zlib1g-dev libncurses5-dev \
libgdbm-dev libnss3-dev libssl-dev libreadline-dev \
libffi-dev libsqlite3-dev wget libbz2-dev

使用 wget 命令下载 python-3.12.6 源代码包

$ wget https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tgz

下载完成后,使用 tar 命令提取 tarball 的内容

$ sudo tar -xvf Python-3.12.6.tgz

切换到解压缩目录

$ cd Python-3.12.6/

接下来,configure python 源代码

$ sudo ./configure --enable-optimizations

-enable-optimizations 选项通过运行多个测试来优化 Python 二进制文件。这可能需要一些时间,但会产生更高效的二进制文件。

接下来,运行以下命令编译并安装 python 3.12.6

$ sudo make alinstall

Note : 使用 altinstall 而不是 install 可以防止覆盖默认 python3 二进制。

要确认 Python 3.12.6 已成功安装,请运行以下命令

$ python3.12 --version

管理多个 Python 版本

在某些情况下,需要在一个系统下安装多个 Python 版本,并且可能需要切换到不同版本。

update-alternatives 命令用于设置不同版本的优先级,带有优先级最高的版本成为默认版本。

$ sudo update-alternatives --install /usr/bin/python3 python3  /usr/bin/python3.10 1
$ sudo update-alternatives --install /usr/bin/python3 python3  /usr/bin/python3.12 2

要在不同的 Python 版本之间切换,请运行以下命令

$ sudo update-alternatives --config python3

系统将提示您提供首选默认 Python 版本的选择编号。您可以按 ENTER 以保持当前选择或提供与 Python 版本相对应的选择编号。

Update Alternative Python3 Ubuntu 24.04

我的开源项目

酷瓜云课堂-在线教育解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)
http://www.dtcms.com/a/337156.html

相关文章:

  • SpringAI集成MCP
  • 详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。
  • 【金融数据分析】用Python对金融产品价格进行时间序列分解
  • MySQL的锁:
  • Python入门第9课:面向对象编程(OOP)从零开始,类、对象与三大特性
  • Leetcode 3650. Minimum Cost Path with Edge Reversals
  • Vue Router的常用API有哪些?
  • 05 定时器,延时器、递归、内置对象(Object 对象+Math 对象+Date 对象+String对象)
  • Less (CSS 预处理器)
  • 8.18网络编程——基于UDP的TFTP文件传输客户端
  • 后端通用基础代码
  • 电源电路介绍
  • OpenTelemetry、Jaeger 与 Zipkin:分布式链路追踪方案对比与实践
  • 窗口看门狗(WWDG)
  • 网络基础——协议认识
  • Linux权限的学习
  • 抽象类与接口的区别
  • 【C语言篇】操作符详解
  • Ubuntu下无法在huggingface下载指定模型的解决方法
  • Read Frog:一款开源AI浏览器语言学习扩展
  • 如何解决IDEA/Datagrip无法连接数据库的问题:解决方法为添加参数-Djava.net.preferIPv4Stack=true
  • Java原子类详解
  • 并发编程原理与实战(二十四)Java并发基石LockSupport park/unpark机制全解析
  • 车e估牵头正式启动乘用车金融价值评估师编制
  • AI出题人给出的Java后端面经(十八)(日更)
  • Java基础八股复习3 jvm-内存结构
  • 数据仓库理论
  • 具身智能2硬件架构(人形机器人)摘自Openloong社区
  • Vue3 中使用 Element Plus 完整指南
  • 博客项目 Spring + Redis + Mysql