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

admin2024-07-07  8

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换,438562f51bac6deb54005986bfc72a93.gif,第1张

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


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

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

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换,4a4e2391e8c2e9355b08cf8510d1553b.png,第2张

写这篇教程我想达到的目的主要是“授人以渔”,而不仅仅是“授人以鱼”。希望各位小伙伴可以通过我写的这篇文章,能够明白多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可以非常便利的处理各种数据。机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换,icon-default.png?t=N7T8,第3张https://mp.weixin.qq.com/s/CEIZfJiTNDAAN-3tmPZ7og

实践之路

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

# 刷新软件包目录
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月发布)。

# 下载
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

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换,b691ab4f1b9edcf0081e4f52286bd08b.png,第4张

weiyigeek.top-Download Python Source Releases图

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

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

# 进入源码目录
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而二进制版本信息,创建软连接。

/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 进行多版本环境切换。

# 每条命令末尾的数字(即 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 版本,本附上常用镜像源。

# 安装 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 源建议使用国内镜像源,如清华源,华为源等,这里附上常用镜像源。

清华大学: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:

pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple/
jupyter notebook

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

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 及多版本切换,530e260bef52c6c9b14a60e4f60eeab9.png,第5张


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

 学习推荐 往期文章

  • 🔥【最新】AIGC | 在机器学习工作站安装NVIDIA CUDA® 并行计算平台和编程模型

  • 🔥【最新】AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库

  • 💡【相关】Python实践之使用pytorch模型学习框架easyocr模块批量识别大数据通信行程码图片并使用Flask返回json字符串

  • 💡【相关】实践使用Python编写对行程码图片内容批量识别的API接口

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换,f6e0b00d333d3c97cec5dbff01332353.gif,第6张

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换,c7acf2ae750553dda52f3a13e48e145d.gif,第7张

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

原文链接:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!