機器學習筑基篇,?Ubuntu 24.04 編譯安裝 Python 及多版本切換

438562f51bac6deb54005986bfc72a93.gif

[?知識是人生的燈塔,只有不斷學習,才能照亮前行的道路?]


Ubuntu 24.04 編譯安裝最新Python及多版本切換

描述:說到機器學習,人工智能,深度學習不免會提到Python這一門編程語言(人生苦短,及時Python),Python是一門解釋型、面向對象、動態數據類型的高級程序設計語言,使用Python可以非常便利的處理各種數據。

4a4e2391e8c2e9355b08cf8510d1553b.png

寫這篇教程我想達到的目的主要是“授人以漁”,而不僅僅是“授人以魚”。希望各位小伙伴可以通過我寫的這篇文章,能夠明白多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可以非常便利的處理各種數據。icon-default.png?t=N7T8https://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

b691ab4f1b9edcf0081e4f52286bd08b.png

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.4ls?-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,除了獲得從業筆記的同時還可進行問題答疑以及每月遠程技術支持,希望大家多多支持,收獲定大于付出!

530e260bef52c6c9b14a60e4f60eeab9.png


如果此篇文章對你有幫助,請你將它轉發給更多的人!

?學習推薦?往期文章

  • 🔥【最新】AIGC | 在機器學習工作站安裝NVIDIA CUDA? 并行計算平臺和編程模型

  • 🔥【最新】AIGC | 在機器學習工作站安裝NVIDIA cuDNN 深度學習庫

  • 💡【相關】Python實踐之使用pytorch模型學習框架easyocr模塊批量識別大數據通信行程碼圖片并使用Flask返回json字符串

  • 💡【相關】實踐使用Python編寫對行程碼圖片內容批量識別的API接口

f6e0b00d333d3c97cec5dbff01332353.gif

c7acf2ae750553dda52f3a13e48e145d.gif

感覺文章不錯的童鞋,請幫忙轉發,點 👍、在看,若有疑問的小伙伴,可在評論區留言你想法喲💬!

原文鏈接:

機器學習筑基篇,?Ubuntu 24.04 編譯安裝 Python 及多版本切換說到機器學習,人工智能,深度學習不免會提到Python這一門編程語言(人生苦短,及時Python),Python是一門解釋型、面向對象、動態數據類型的高級程序設計語言,使用Python可以非常便利的處理各種數據。icon-default.png?t=N7T8https://mp.weixin.qq.com/s/CEIZfJiTNDAAN-3tmPZ7og

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44418.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44418.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44418.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows防火墻端口設置

PS&#xff1a;本文實例為Windows Server 2019&#xff0c;其他Windows版本大同小異。 1、首先打開windows防火墻&#xff0c;點擊“高級設置” 2、 高級設置界面 3、假設需要開放一個端口為3306應該怎么做 光標對準“入站規則”右鍵新建規則&#xff0c;選擇“端口” 協議這…

C++類和對象(一)

目錄 面向過程和面向對象 面向過程編程&#xff08;Procedural Programming&#xff09; 面向對象編程&#xff08;Object-Oriented Programming&#xff09; 一、類的定義 類定義格式 類域 二、類的訪問限定符及封裝 訪問限定符 封裝 三、實例化 實例化概念 對象大小…

軟件運行次數

題目&#xff1a; 實現一個驗證程序運行次數的小程序&#xff0c;要求如下&#xff1a; 當程序運行超過3次時給出提示&#xff1a;本軟件只能免費使用3次&#xff0c;歡迎您注冊會員后繼續使用&#xff5e;程序運行演示如下&#xff1a; 第一次運行控制臺輸出&#xff1a;歡迎…

常見WAF攔截頁面總結

(1) D盾 (2) 云鎖 (3) UPUPW安全防護 (4) 寶塔網站防火墻 (5) 網防G01 (6) 護衛神 (7) 網站安全狗 (8) 智創防火墻 (9) 360主機衛士或360webscan (10) 西數WTS-WAF (11) Naxsi WAF (12) 騰訊云 (13) 騰訊宙斯盾 (14) 百度云 圖片 (15) 華為云 (16) 網宿云 (17) 創宇盾 圖片 (…

ROS服務通信自定義srv

服務通信自定義srv 流程:創建ROS功能包按照固定格式創建srv文件編譯配置文件編譯生成中間文件 流程: srv 文件內的可用數據類型與 msg 文件一致&#xff0c;且定義 srv 實現流程與自定義 msg 實現流程類似&#xff0c;需查閱msg文件的可以瀏覽ROS話題通信流程自定義數據msg格式…

【服務器】在Linux查看運行的Python程序,并找到特定的Python程序

在Linux查看運行的Python程序并找到特定的Python程序 寫在最前面1. 使用ps命令查看所有Python進程查看詳細信息 2. 使用pgrep命令查找Python進程ID 3. 使用top或htop命令使用top命令使用htop命令 4. 使用lsof命令查找Python進程打開的文件 5. 使用nvidia-smi命令查看GPU使用情況…

JDBC編程的學習——MYsql版本

目錄 前言 什么是JDBC ??? 前置準備 使用JDBC的五個關鍵步驟 1.建立與數據庫的連接 2.創建具體的sql語句和Statement 3.執行SQL語句 4.處理結果集 5.釋放資源 完整流程展示 前言 筆者在先前的博客就提過會寫關于JDBC的內容 [Mysql] 的基礎知識和sql 語句.教你速成…

R包:reticulate R對python的接口包

介紹1 R和python是兩種不同的編程語言&#xff0c;前者是統計學家發明并且服務數學統計計算&#xff0c;后者則是最萬能的膠水語言。隨著大數據時代的到來&#xff0c;兩者在數據分析領域存在越來越多的共同點且可以相互使用&#xff0c;為了破解二者的編程壁壘&#xff0c;CR…

軟考《信息系統運行管理員》-3.1信息系統設施運維的管理體系

3.1信息系統設施運維的管理體系 1 信息系統設施運維的對象 基礎環境 主要包括信息系統運行環境(機房、設備間、配線室、基站、云計算中心 等)中的空調系統、供配電系統、通信應急設備系統、防護設備系統(如消防系統、安全系統) 等&#xff0c;能維持系統安全正常運轉&#xf…

【第26章】MyBatis-Plus之高級特性

文章目錄 前言一、數據審計&#xff08;對賬&#xff09;二、數據敏感詞過濾三、數據范圍&#xff08;數據權限&#xff09;四、表結構自動維護五、字段數據綁定&#xff08;字典回寫&#xff09;六、虛擬屬性綁定七、字段加密解密八、字段脫敏九、多數據源分庫分表&#xff08…

從零開始學習嵌入式----Linux系統命令集合與shell腳本

Shell是一門編程語言&#xff0c;作為學習shell的開始&#xff0c;需要事先搞明白&#xff1a;編程的目的是什么&#xff1f;什么是編程語言&#xff1f;什么是編程&#xff1f; shell本身就是一門解釋型、弱類型、動態語言&#xff0c;與python相對應&#xff0c;Python屬于解…

aardio —— 今日減bug

打字就減bug 鼠標雙擊也減bug 看看有多少bug夠你減的 使用方法&#xff1a; 1、將資源附件解壓縮&#xff0c;里面的文件夾&#xff0c;放到aardio\plugin\plugins 目錄 2、aardio 啟動插件 → 插件設置 → 選中“今日減bug” → 保存。 3、重啟 aardio&#xff0c;等aa…

旗晟智能巡檢機器人:開啟工業運維的智能化新篇章

在當今快速發展的工業領域&#xff0c;安全、效率和成本控制是企業運營的核心。旗晟科技以創新為驅動&#xff0c;推出了一站式的工業級智能巡檢機器人數字化全景運維解決方案&#xff0c;為石油、天然氣、化工、電力等高危行業提供了一個全新的運維模式。 一、面對挑戰&#x…

提升機器視覺與機器學習軟件安全性的實踐策略

在近幾年科技爆發中&#xff0c;機器學習&#xff08;ML&#xff09;和機器視覺&#xff08;MV&#xff09;的結合正在改變各行各業。機器學習通過數據驅動的算法讓計算機能夠自我學習&#xff0c;而機器視覺賦予計算機識別和理解圖像的能力。這種結合使得計算機可以高效地執行…

上位機開發關鍵技術

《上位機開發關鍵技術》 在現代工業自動化、智能化的發展進程中&#xff0c;上位機作為人機交互的重要接口&#xff0c;發揮著至關重要的作用。上位機能夠實現對下位機設備的監控、數據采集與處理、控制指令下達等功能&#xff0c;為生產過程的優化、設備的高效運行提供了有力支…

淺談化工廠環保管理的痛點、智慧環保的必要性及EHS系統的實現路徑

在全球環保意識日益增強的背景下&#xff0c;化工廠作為工業領域的重要組成部分&#xff0c;其環保管理顯得尤為重要。然而&#xff0c;化工廠在追求經濟效益的同時&#xff0c;也面臨著諸多環保管理的痛點。本文將圍繞化工廠環保管理的痛點、化工廠為何需要智慧環保以及如何借…

設計分享—國外后臺界面設計賞析

國外后臺界面設計將用戶體驗放在首位&#xff0c;通過直觀易懂的布局和高效的交互設計&#xff0c;提升用戶操作效率和滿意度。 設計不僅追求美觀大方&#xff0c;還注重功能的實用性和數據的有效展示&#xff0c;通過圖表和圖形化手段使數據更加直觀易懂。 采用響應式布局&a…

Global Mapper:地理信息的溫柔探索

引言 在這紛繁復雜的世界里&#xff0c;地理信息系統&#xff08;GIS&#xff09;如同一把利器&#xff0c;幫助我們剖析、理解和改造這個世界。而在眾多GIS軟件中&#xff0c;Global Mapper無疑是其中的佼佼者。作為一款功能全面且易于使用的GIS應用程序&#xff0c;Global M…

相機光學(三十一)——暗房設置的要求

ISO標準通常在測試相機時指定對周圍條件的要求。由于攝影ISO組試圖保持這些要求與所有標準一致&#xff0c;所以我們總結了這個“技術說明”中的重要方面。 ??溫度應保持在23C /- 2C的范圍內。在設計空調系統時&#xff0c;請記住圖表照明的耗電量和發熱量。濕度需要在&#…

數字安全護航技術能力全景圖 | 亞信安全實力占據75領域

近日&#xff0c;2024全球數字經濟大會——數字安全生態建設專題論壇在北京成功舉辦。會上&#xff0c;中國信息通信研究院&#xff08;簡稱“中國信通院”&#xff09;正式發布了《數字安全護航技術能力全景圖》&#xff0c;亞信安全憑借全面的產品技術能力&#xff0c;成功入…