机器学习筑基篇,Ubuntu 24.04 编译安装 Python 及多版本切换

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]


Ubuntu 24.04 编译安装最新Python及多版本切换

描述:说到机器学习,人工智能,深度学习不免会提到Python这一门编程语言(人生苦短,及时Python),Python是一门解释型、面向对象、动态数据类型的高级程序设计语言,使用Python可以非常便利的处理各种数据。

写这篇教程我想达到的目的主要是"授人以渔",而不仅仅是"授人以鱼"。希望各位小伙伴可以通过我写的这篇文章,能够明白多Python版本安装思路,逐步自己"独立起来",下次安装软件的时候就可以自己克服困难,成功安装软件。

这里话接上一篇《AIGC | 为机器学习工作站安装NVIDIA 4070 Ti Super显卡驱动》文章,作为作者进行机器学习的基础篇(筑基期),在 Ubuntu 24.04 TLS Desktop(默认自带3.12.3与发布版本跨度不大,也可以不用升级) 上进行最新版本的Python进行编译安装,并使用 update-alternatives 进行多版本环境切换。

温馨提示:作者后续发布更多机器学习入门及实践操作文章,所以一定要关注我哟。

原文连接:机器学习筑基篇,Ubuntu 24.04 编译安装 Python 及多版本切换说到机器学习,人工智能,深度学习不免会提到Python这一门编程语言(人生苦短,及时Python),Python是一门解释型、面向对象、动态数据类型的高级程序设计语言,使用Python可以非常便利的处理各种数据。https://mp.weixin.qq.com/s/CEIZfJiTNDAAN-3tmPZ7og

实践之路

Step 1.首先检查系统软件是否均为最新,并更新到最新版本,并安装后续编译安装所需的依赖,注意:此处作者已排除Kernel进行自动升级。

go 复制代码
# 刷新软件包目录
sudo apt update

# 列出当前可用的更新
sudo apt list --upgradable

# 如上一步提示有可以更新的项目,则执行更新
sudo apt upgrade

# 安装依赖
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev

Step 2. 访问Python官网(www.python.org)下载Python源码包,目前最新稳定版本为 3.12.4(24年6月发布)。

go 复制代码
# 下载
sudo wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tar.xz
# xz 解压
sudo xz -d Python-3.12.4.tar.xz
# tar 解压到指定目录
tar -xf Python-3.12.4.tar -C /usr/local/src/Python-3.12.4


weiyigeek.top-Download Python Source Releases图

温馨提示:考虑到Python源码包较大,如果网络环境不佳,可能下载较慢,建议华为的镜像站下载,链接直达 mirrors.huaweicloud.com/python ,找到需要下载的版本目录下载即可.

Step 3. 进入Python源码目录,进行编译安装。

go 复制代码
# 进入源码目录
cd /usr/local/src/Python-3.12.4

# 检查依赖与配置编译
sudo ./configure --enable-optimizations --with-lto --enable-shared

# 编译参数:
# --enable-optimizations:用 PROFILE_TASK 启用以配置文件主导的优化(PGO)
# --with-lto:在编译过程中启用链接时间优化(LTO)
# --enable-shared:启用共享 Python 库 libpython 的编译
# 更多可用配置项的信息,请参阅 Python 官方文档。
# 注意:这里作者没使用prefix参数指定默认安装路径,我是为了方便后续多版本环境切换做演示,读者可根据自身需要配置。

# 编译,-j 后面的数字为参与编译的CPU核心数,根据个人机器配置调整
sudo make -j 8

# 安装生成二进制文件
sudo make altinstall

Step 4. 安装完成后,查看Python而二进制版本信息,创建软连接。

go 复制代码
/usr/local/src/Python-3.12.4# ./python --version
/usr/local/bin/python3.12.4/python
  # Python 3.12.4 (main, Jun 28 2024, 10:15:42) [GCC 13.2.0] on linux
  # Type "help", "copyright", "credits" or "license" for more information.
  # >>> exit()
  
# 软连接
ln -s /usr/local/src/Python-3.12.4/python /usr/local/bin/python3.12.4

ls -l /usr/local/bin/python3.12.4
  # lrwxrwxrwx 1 root root 35  6月 30 10:39 /usr/local/bin/python3.12.4 -> /usr/local/src/Python-3.12.4/python

Step 5. 安装完成后,如果你的 Ubuntu 上安装了多个 Python 版本,可使用 update-alternatives 进行多版本环境切换。

go 复制代码
# 每条命令末尾的数字(即 1、2、3 等)表示该版本的优先级。数值越大,优先级越高。在上图的示例中,Python 3.12 的优先级最高(2),而 Python 3.12.4 的优先级最低(1)。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.12 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.12.4 1
update-alternatives: 使用 /usr/local/bin/python3.12.4 来在自动模式中提供 /usr/bin/python (python)

# 查看Python多版本
sudo update-alternatives --list python
  # /usr/bin/python3.12
  # /usr/local/bin/python3.12.4

# 切换 Python 为最新安装的 3.12.4 版本
sudo update-alternatives --config python
  # 有 2 个候选项可用于替换 python (提供 /usr/bin/python)。
  #   选择       路径                       优先级  状态
  # ------------------------------------------------------------
  #   0            /usr/bin/python3.12           2         自动模式
  #   1            /usr/bin/python3.12           2         手动模式
  # * 2            /usr/local/bin/python3.12.4   1         手动模式
  # 要维持当前值[*]请按<回车键>,或者键入选择的编号:1
  # update-alternatives: 使用 /usr/bin/python3.12 来在手动模式中提供 /usr/bin/python (python)

# 查看当前python版本,可以看到已经切换到 3.12.4
root@codeServer:~# python --version
Python 3.12.4

# 移除添加的Python版本
sudo update-alternatives --remove python /usr/local/bin/python3.12.4

Step 6.安装 pip 包管理工具,并升级 pip 版本,本附上常用镜像源。

go 复制代码
# 安装 pip
apt install python3-pip

# 升级现有的 pip 版本, 需要使用 python 的命令来升级
python3 -m pip install --upgrade pip

# 查看版本
pip3 --version
  # pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)

考虑到国内网络环境,pip 源建议使用国内镜像源,如清华源,华为源等,这里附上常用镜像源。

go 复制代码
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:http://pypi.hustunique.com/
豆瓣源:http://pypi.douban.com/simple/
腾讯源:http://mirrors.cloud.tencent.com/pypi/simple
华为镜像源:https://repo.huaweicloud.com/repository/pypi/simple/

这里以安装jupyter为例(jupyter.org/install), 使用以下命令安装经典的 Jupyter Notebook:

go 复制代码
pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple/
jupyter notebook

如果你是其他Python开发项目,可以先则先上 cd 到项目中存在 requirements 的文件路径,使用下述命令即可安装项目依赖

go 复制代码
pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# --trusted-host mirrors.aliyun.com 为信任国外站点

本文详细介绍了如何在 Ubuntu 24.04 上安装 Python 3.12 或指定版本、如何安装和升级 Pip,以及如何切换默认 Python 版本,这些技巧有助于满足 Python 用户和开发者的多样化项目需求。

温馨提示:作者最近10年的工作学习笔记(涉及网络、安全、运维、开发),需要学习实践笔记的看友,可添加作者账号[WeiyiGeeker],当前价格¥199,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!


如果此篇文章对你有帮助,请你将它转发给更多的人!

学习推荐 往期文章

感觉文章不错的童鞋,请帮忙转发,点 👍、在看,若有疑问的小伙伴,可在评论区留言你想法哟💬!

原文链接:

机器学习筑基篇,Ubuntu 24.04 编译安装 Python 及多版本切换说到机器学习,人工智能,深度学习不免会提到Python这一门编程语言(人生苦短,及时Python),Python是一门解释型、面向对象、动态数据类型的高级程序设计语言,使用Python可以非常便利的处理各种数据。https://mp.weixin.qq.com/s/CEIZfJiTNDAAN-3tmPZ7og

相关推荐
bryant_meng22 分钟前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩
车载诊断技术44 分钟前
电子电气架构 --- 什么是EPS?
网络·人工智能·安全·架构·汽车·需求分析
KevinRay_1 小时前
Python超能力:高级技巧让你的代码飞起来
网络·人工智能·python·lambda表达式·列表推导式·python高级技巧
跃跃欲试-迪之1 小时前
animatediff 模型网盘分享
人工智能·stable diffusion
Captain823Jack1 小时前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
被制作时长两年半的个人练习生1 小时前
【AscendC】ReduceSum中指定workLocal大小时如何计算
人工智能·算子开发·ascendc
资源补给站2 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机
2301_819287122 小时前
ce第六次作业
linux·运维·服务器·网络
Captain823Jack2 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
武汉联从信息2 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器