在Ubuntu下,源碼編譯安裝Python

在Ubuntu下,源碼編譯安裝Python

知識點

知識點1:在 Linux 系統里,/usr 目錄通常用于存放一些共享的、只讀的程序和數據,是系統安裝軟件的一個重要位置。而 /usr/src 目錄一般是用來存放系統源代碼以及一些軟件包的源代碼的地方 。

知識點2:echo $?查看上一條命令是否執行成功,0表示成功。

知識點3:建議使用最終部署的linux用戶安裝Python。

步驟 1:更新系統包

sudo apt update
sudo apt upgrade

步驟 2:安裝編譯依賴

sudo apt install -y build-essential checkinstall
sudo apt install -y libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev sqlite3 bzip2 openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev uuid-dev

步驟 3:下載 Python 3.9.13 源碼

注:如果服務器網速比較慢,可以在Windows下載后上傳到Linux.

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
sudo tar xzvf Python-3.9.13.tgz

步驟 4:編譯并安裝 Python

cd Python-3.9.13
sudo ./configure --enable-optimizations
sudo make -j$(nproc)
sudo make altinstall

--enable-optimizations:當你使用該選項編譯 Python 時,Python 解釋器在運行 Python 腳本時可能會有更好的性能表現。
make -j$(nproc) :這條命令的意思是讓 make 命令以并行的方式執行編譯任務,并行任務的數量等于當前系統中可用的 CPU 核心數,目的加快編譯速度。

步驟 5:驗證安裝

python3.9 --version

輸出應為:

Python 3.9.13

步驟 6:設置 Python 3.9 為默認版本(可選)

sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 1
sudo update-alternatives --config python3

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

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

相關文章

《每天讀一個JDK源碼》之HashMap解讀

📌《每天讀一個JDK源碼》之HashMap解讀 🔗源碼定位:java.util.HashMap(建議IDE對照閱讀) 今天我們來破解Java集合框架中最精妙的藝術品——HashMap!它不僅是面試必考題(出現率99%)&…

【Java項目】基于SpringBoot的Java學習平臺

【Java項目】基于SpringBoot的Java學習平臺 技術簡介:采用Java技術、SpringBoot框架、MySQL數據庫等實現。系統基于B/S架構,前端通過瀏覽器與后端數據庫進行信息交互,后端使用SpringBoot框架和MySQL數據庫進行數據處理和存儲,實現…

使用ChatGPT-Deep Reaserch兩步給出文獻綜述!

文獻綜述是學術論文寫作中不可或缺的一部分,它不僅是對已有研究的梳理和總結,更是為后續研究奠定理論基礎的關鍵步驟。通過文獻綜述研究者能夠全面了解當前研究領域的現狀、主要觀點和研究方法,從而找到自己研究的切入點和創新點。這一過程需…

java基礎知識(理論篇)

一、java介紹 1.1Java語言 Java 是一種廣泛使用的、通用的、面向對象的編程語言,Java 的設計目標是“一次編寫,到處運行”,這也這意味著 Java 程序可以在任何支持 Java 的平臺(如 Windows、Linux、macOS 等)上運行。 …

金融賦能紹興紡織 民生銀行助力外貿中小微企業“走出去”

在浙江紹興,紡織業作為一張熠熠生輝的產業名片,承載著深厚的歷史底蘊與蓬勃的發展活力。這里依傍長三角經濟圈,交通網絡縱橫交錯,將原材料產地與廣闊市場緊密相連;產業集群高度成熟,上下游產業鏈完備&#…

綜合實驗處理表格

新建excel表格,輸入信息,另存為csv文件。 利用notepad打開csv文件,可以觀察格式 目標:通過編程處理文件,實現對數據的處理,成績求和以及評價 對數據逐行處理,讀一行,處理一行&#…

我和我的通義靈碼

我和我的通義靈碼 我和我的通義靈碼個人版&企業版個人版登錄個人版workspace應用場景terminal 企業版登錄企業版#team docs 體驗總結 我和我的通義靈碼 說到通義靈碼,作為程序員的我們是最有發言權的。從全國首個AI代碼助手-通義靈碼公測到現在,不知…

一文學會Volatile關鍵字

引言 在 Java 多線程實戰中,volatile 是一個重要的關鍵字,用于修飾變量,經常在JUC源碼中出現,本文詳細解析一下這個關鍵字的奧秘 1. 基本概念 volatile 關鍵字的主要作用是保證變量的可見性以及在一定程度上禁止指令重排序。在…

Java測試框架Mockito快速入門

Mockito結合TestNG快速入門 什么是Mockito Mockito 是一個專門用于 Java 的強大測試框架,主要用來創建和管理模擬對象,輔助開發者進行單元測試,具有以下特點和功能: 創建模擬對象:能通過簡潔的語法創建類或接口的模…

week 3 - More on Collections - Lecture 3

一、Motivation 1. Java支持哪種類型的一維數據結構? Java中用于在單一維度中存儲數據的數據結構,如arrays or ArrayLists. 2. 如何在Java下創建一維數據結構?(1-dimensional data structure) 定義和初始化這些一…

Ubuntu 防火墻iptables和 ufw

文章目錄 iptables 和 ufw 的區別Ubuntu 上使用 ufw 配置 iptables 和 ufw 的區別 iptables 和 ufw 是 Linux 系統中用于管理防火墻的工具,但它們的設計目標和使用方式有所不同。 iptables:功能強大,適合高級用戶和復雜場景,但配…

(動態規劃 最長連續遞增子序列)leetcode 674

我上個文章提到了最長遞增子序列這個題可以去看看 這個題目翻譯人話就是找出最長的遞增子串,用一層for循環就行,時間復雜度是O(n) 比起上個題,一個范圍多條子序列(路徑)這里一個范圍只有一條遞增路徑,所以…

STM32CubeMx DRV8833驅動

一、DRV8833驅動原理 ? STBY口接單片機的IO口,STBY置0電機全部停止,置1才能工作。STBY置1后通過AIN1、AIN2、BIN1、BIN2 來控制正反轉。 AIN1AIN2電機狀態00停止1speed反轉speed1正轉11停止 其中A端(AIN1與AIN2)只能控制AO1與…

JSON Schema 入門指南:如何定義和驗證 JSON 數據結構

文章目錄 一、引言二、什么是 JSON Schema?三、JSON Schema 的基本結構3.1 基本關鍵字3.2 對象屬性3.3 數組元素3.4 字符串約束3.5 數值約束 四、示例:定義一個簡單的 JSON Schema五、使用 JSON Schema 進行驗證六、實戰效果6.1 如何使用 七、總結 一、引…

前端Npm面試題及參考答案

目錄 npm 是什么?它的主要作用是什么? npm 包管理工具與 Yarn 有何不同? npm 的 package.json 文件有哪些重要字段? 什么是 npm 依賴?如何在項目中安裝、更新和移除依賴? npm 的 node_modules 目錄是什么?它的作用是什么? 什么是 npm 腳本?如何在 package.json 中…

零樣本思維鏈(Zero-shot CoT)

Large Language Models are Zero-Shot Reasoners (Kojima et al., 2022) 這篇文章研究了大型語言模型 (LLMs) 在推理任務上的能力,并提出了一種名為 Zero-shot-CoT 的新方法,該方法能夠有效地引導 LLM 進行多步驟推理,并在各種推理任務上取得…

day01_Java基礎

文章目錄 day01_Java基礎一、今日課程內容二、Java語言概述(了解)1、Java語言概述2、為什么要學習Java語言3、Java平臺版本說明4、Java特點 三、Java環境搭建(操作)1、JDK和JRE的概述2、JDK的下載和安裝3、IDEA的安裝4、IDEA的啟動…

設計模式 之 生產消費者模型 (C++)

文章目錄 設計模式 之 生產消費者模型 (C)引言生產消費者模型的基本概念為什么需要生產消費者模型應用場景:C 實現生產消費者模型代碼示例代碼詳細解釋共享資源和同步機制生產者函數 producer()消費者函數 consumer()主函數 main() 注意事項總…

Spring Boot 項目開發流程全解析

目錄 引言 一、開發環境準備 二、創建項目 三、項目結構 四、開發業務邏輯 1.創建實體類: 2.創建數據訪問層(DAO): 3.創建服務層(Service): 4.創建控制器層(Controller&…

數據結構課程設計(java實現)---九宮格游戲,也稱幻方

【問題描述】 九宮格,一款數字游戲,起源于河圖洛書,與洛書是中國古代流傳下來的兩幅神秘圖案,歷來被認為是河洛文化的濫觴,中華文明的源頭,被譽為"宇宙魔方"。九宮格游戲對人們的思維鍛煉有著極大…