ubuntu 24 安裝 python3.x 教程

目錄

注意事項

一、安裝不同 Python 版本

1. 安裝依賴

2. 下載 Python 源碼

3. 解壓并編譯安裝

二、管理多個 Python 版本

1. 查看已安裝的 Python 版本

2. 配置環境變量

3. 使用 update-alternatives? 管理 Python 版本

三、使用虛擬環境為項目指定特定 Python 版本

1. 使用 venv? 創建虛擬環境

2. 激活虛擬環境

3. 在虛擬環境中安裝依賴

4. 退出虛擬環境

四、注意事項

五、(可選)使用 Poetry 管理虛擬環境并指定 Python 版本(使用 pip 安裝 Poetry)

1. 使用 pip 安裝 Poetry

2. 在創建虛擬環境時指定 Python 版本

3. 激活虛擬環境

4. 安裝依賴

5. 退出虛擬環境

額外提示


注意事項

Ubuntu 24 系統已預裝 Python 3.12,在大多數常規場景下,該版本足以滿足使用需求,因此通常無需額外安裝其他 Python 版本。

需要特別注意的是,Ubuntu 系統的部分核心組件和默認命令依賴于系統自帶的 Python 3.12 版本。隨意更改系統默認的 Python 版本,極有可能導致這些依賴 Python 的系統命令無法正常運行,嚴重時甚至會影響系統的穩定性和正常使用。例如,apt? 作為 Ubuntu 重要的包管理工具,其正常運行依賴于特定版本的 Python 環境,若更改默認 Python 版本與 apt? 依賴不兼容,就會致使 apt? 無法正常工作。所以,若非有特殊的項目需求,建議盡量使用系統默認的 Python 3.12 版本;若確實需要使用其他版本,建議通過虛擬環境的方式來實現,避免對系統默認 Python 環境造成影響。

sudo update-alternatives --display python3

我此時已經安裝了兩個版本的python

一、安裝不同 Python 版本

1. 安裝依賴

安裝編譯 Python 所需的依賴庫,確保后續編譯過程順利進行。在終端中執行以下命令:

sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
2. 下載 Python 源碼

點我去python的版本歸檔

借助 wget? 命令從 Python 官方網站下載所需的 Python 版本源碼包。為了加快下載速度,可使用國內的鏡像源,例如清華大學的 Python 鏡像源。

以 Python 3.10.11 為例:

wget https://mirrors.tuna.tsinghua.edu.cn/python/3.10.11/Python-3.10.11.tgz
3. 解壓并編譯安裝

下載完成后,對源碼包進行解壓,然后進行編譯和安裝操作。

# 解壓文件
tar -zxvf Python-3.10.11.tgz
# 進入解壓后的目錄
cd Python-3.10.11
# 配置編譯選項,--prefix 指定安裝路徑
./configure --prefix=/usr/local/python3.10.11 --enable-optimizations
# 編譯,使用 -j 選項利用多核 CPU 加速編譯
make -j$(nproc)
# 安裝
sudo make altinstall

這里使用 altinstall? 而不是 install?,是為了避免覆蓋系統默認的 Python 版本。

二、管理多個 Python 版本

1. 查看已安裝的 Python 版本

安裝完成后,可通過以下命令查看已安裝的 Python 版本:

ls /usr/bin | grep python
2. 配置環境變量

為方便使用不同版本的 Python,需要將其可執行文件路徑添加到環境變量中。編輯 ~/.bashrc? 文件:

nano ~/.bashrc

在文件末尾添加以下內容(以 Python 3.10.11 為例):

export PATH="/usr/local/python3.10.11/bin:$PATH"

保存并退出文件,然后使配置生效:

source ~/.bashrc
3. 使用 update-alternatives? 管理 Python 版本

?update-alternatives? 是 Ubuntu 系統中用于管理多版本軟件的工具。可以通過它來查看和切換系統默認使用的 Python 版本。

  • 查看 Python 3 替代項信息:
sudo update-alternatives --display python3

執行該命令后,會顯示系統中所有 Python 3 版本的替代項信息,包括每個版本的路徑、優先級等。示例輸出如下:

從輸出中可以看到每個 Python 版本的優先級,優先級越高,在自動模式下越優先被使用。

  • 手動切換 Python 3 版本:
    如果需要手動切換系統默認使用的 Python 3 版本,可以執行以下命令:
sudo update-alternatives --config python3

執行該命令后,會列出所有可用的 Python 3 版本,你可以輸入對應的編號來選擇要使用的版本。

三、使用虛擬環境為項目指定特定 Python 版本

1. 使用 venv? 創建虛擬環境

?venv? 是 Python 自帶的虛擬環境管理工具。以使用 Python 3.10.11 創建虛擬環境為例:

/usr/local/python3.10.11/bin/python3 -m venv my_project_env

?my_project_env? 是虛擬環境的名稱,可根據實際情況修改。

2. 激活虛擬環境
source my_project_env/bin/activate

激活后,終端提示符前會顯示虛擬環境的名稱。

3. 在虛擬環境中安裝依賴

在激活的虛擬環境中,可以使用 pip? 安裝項目所需的依賴:

pip install package_name
4. 退出虛擬環境

當項目使用完畢后,可使用以下命令退出虛擬環境:

deactivate

四、注意事項

  • 避免覆蓋系統默認 Python:使用 altinstall? 安裝 Python 版本,防止替換系統默認的 Python 版本,以免影響系統的正常運行。
  • 鏡像源的使用:在下載 Python 源碼包和使用 pip? 安裝依賴時,可使用國內的鏡像源,如清華大學、阿里云等,以提高下載速度。例如,使用清華大學的 pip? 鏡像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
  • 虛擬環境的管理:為每個項目創建獨立的虛擬環境,避免不同項目之間的依賴沖突。

通過以上步驟,可以在中國網絡環境下方便地安裝多個 Python 版本,同時讓系統繼續使用默認版本,項目使用特定版本。

五、(可選)使用 Poetry 管理虛擬環境并指定 Python 版本(使用 pip 安裝 Poetry)

1. 使用 pip 安裝 Poetry

Poetry 是一個強大的 Python 依賴管理和打包工具,同時也能出色地管理虛擬環境。你可以使用 pip? 來安裝它,為確保安裝的是用戶級別的 Poetry,避免權限問題,可執行以下命令:

pip install --user poetry

以下步驟參考你前面有沒有執行這個

安裝完成后,要將 Poetry 的可執行文件路徑添加到環境變量里。編輯 ~/.bashrc? 文件:

nano ~/.bashrc

在文件末尾添加如下內容:

export PATH="$HOME/.local/bin:$PATH"

保存并退出文件,接著讓配置生效:

source ~/.bashrc
2. 在創建虛擬環境時指定 Python 版本

要是你還未用 Poetry 為項目創建過虛擬環境,可使用 poetry env use? 命令來指定 Python 版本并創建虛擬環境。

步驟

  1. 確認可用的 Python 版本路徑
    先找到你想要使用的 Python 版本的可執行文件路徑。可以通過 which? 命令來查看特定版本 Python 的路徑,例如查看 Python 3.10 的路徑:
which python3

通常輸出可能類似 /usr/local/bin/python3.10? 。

  1. 使用 poetry env use? 命令創建虛擬環境
    使用上一步獲取的 Python 可執行文件路徑來創建虛擬環境,示例如下:
poetry env use /usr/local/bin/python3

執行該命令后,Poetry 會依據指定的 Python 版本創建一個新的虛擬環境。

3. 激活虛擬環境

Poetry 會自動為項目創建虛擬環境,你可以使用以下命令激活該虛擬環境:

poetry shell

激活之后,終端提示符前會顯示虛擬環境的名稱。

4. 安裝依賴

在激活的虛擬環境中,你可以使用 Poetry 安裝項目所需的依賴。例如,安裝 requests? 庫:

poetry add requests

Poetry 會自動管理依賴的版本,并且將其記錄在 pyproject.toml? 和 poetry.lock? 文件中。

5. 退出虛擬環境

當項目使用完畢后,可使用以下命令退出虛擬環境:

exit

額外提示

  • 更新 Poetry:若要更新已安裝的 Poetry 版本,可執行 pip install --user --upgrade poetry? 命令。
  • 配置鏡像源:在國內網絡環境下,為提升依賴下載速度,你可以配置 Poetry 使用國內鏡像源。例如,配置為阿里云鏡像源:
poetry config repositories.aliyun https://mirrors.aliyun.com/pypi/simple/
poetry config installer.max-workers 10
poetry config virtualenvs.in-project true

上述命令依次完成了鏡像源的配置、設置最大下載線程數以及讓虛擬環境在項目目錄內創建。

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

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

相關文章

【后端】【django】Django 自帶的用戶系統與 RBAC 機制

Django 自帶的用戶系統與 RBAC 機制 Django 自帶的用戶系統(django.contrib.auth)提供了 身份驗證(Authentication) 和 權限管理(Authorization),能夠快速實現 用戶管理、權限控制、管理員后臺…

怎樣使用Modbus轉Profinet網關連接USB轉485模擬從站配置案例

怎樣使用Modbus轉Profinet網關連接USB轉485模擬從站配置案例 Modbus轉profinet網關可以將Modbus協議轉化為profinet協議,以實現設備之間的數據交互。在實際使用過程中,我們需要使用Modbus協議進行設備通訊,而profinet協議則是用于工業自動化…

5.編譯鏈接和宏**

1. 宏(考察很多)-要求輕松實現宏,很容易出錯 #define 機制包括了一個規定,允許把參數替換到文本中,這種實現通常稱為宏或定義宏。 下面是宏的聲明方式: #define name(參數列表) 內容 參數列表的左括號必…

如何搭建一個適配微信小程序,h5,app的uni-app項目

在vscode搭建 uni-app 項目(Vue 3 Vite Pinia uView Plus) 一、環境準備 1. 安裝 Node.js 確保已安裝 Node.js(需≥14版本),可通過以下命令檢查版本: node -v2. 安裝 VSCode 從 VSCode 官網 下載并…

Kotlin apply 方法的用法和使用場景

Kotlin apply 方法的用法和使用場景 1. 方法簡介 apply 是 Kotlin 標準庫中的一個擴展函數&#xff0c;用于對對象執行一系列操作&#xff0c;并返回該對象本身。它的語法如下&#xff1a; inline fun <T> T.apply(block: T.() -> Unit): T參數&#xff1a;block 是…

一文解讀python高階功能:匿名函數到魔法方法(__call__)

文章目錄 一、python中匿名方法的使用使用示例注意事項總結 二、匿名函數和魔法方法的結合示例&#xff1a;結合 lambda 和 __call__解釋更復雜的示例 總結 一、python中匿名方法的使用 在 Python 中&#xff0c;匿名方法是通過 lambda 關鍵字定義的&#xff0c;通常稱為 lamb…

云服務器新手配置內網穿透服務(frp)

首先你得有一個公網服務器&#xff0c;有了它你就可以借助它&#xff0c;將自己電腦進行配置內網穿透&#xff0c;讓自己內網電腦也可以異地輕松訪問。網上教程較多&#xff0c;特此記錄我自己的配置&#xff0c;避免迷路&#xff0c;我這里只記錄我自己云服務小白&#xff0c;…

基于STM32的火災報警設備(阿里云平臺)

目錄 前言&#xff1a; 一、項目介紹和演示視頻 二、硬件需求準備 三、硬件框圖 1. 原理圖 2. PCB 四、CubeMX配置 五、代碼框架 前言&#xff1a; 源代碼下載鏈接&#xff1a; https://download.csdn.net/download/m0_74712453/90474701 需要實物的可以私信博主或者…

學習筆記之車票搜索為什么用Redis而不是ES?

在文章正式開始前&#xff0c;大家打開 12306.cn 搜索一趟列車&#xff0c;根據搜索條件判斷&#xff0c;數據搜索技術使用 ElasticSearch 或者其它搜索技術是否合適&#xff1f; 這里我先把答案說下&#xff0c;12306 車票搜索用的是 Redis &#xff0c;而不是大家常用的 Ela…

揭秘AI:機器學習與深度學習的奧秘

文章目錄 機器學習與深度學習1. 什么是人工智能&#xff1f;2. 機器學習、深度學習和人工智能又是什么關系&#xff1f;3. 人工智能解決了什么問題&#xff1f;為什么需要人工智能&#xff1f;4. 機器學習、深度學習常用術語1&#xff09;模型2&#xff09;數據集3&#xff09;…

【具體場景實踐】使用存儲過程查數據全流程+自動調度

文章目錄 場景設計場景描述:公司員工管理系統需求1. 創建數據庫和表2. 插入測試數據3. 復雜存儲過程4. 調用存儲過程5. 結果示例6. 細節優化存儲過程總結7. 自動定期執行存儲過程7.1 啟用 MySQL 事件調度器7.2 創建定時任務(每天凌晨 2 點自動執行)7.3 查看和管理事件1?? …

【ubuntu】——wsl中使用windows中的adb

一、引言 在 Windows Subsystem for Linux&#xff08;WSL&#xff09;環境下工作時&#xff0c;有時需要使用 Android Debug Bridge&#xff08;ADB&#xff09;工具與 Android 設備進行交互。通過特定設置&#xff0c;能夠在 WSL 中便捷地調用 Windows 系統中已安裝的 ADB&a…

Centos離線安裝gcc

文章目錄 Centos離線安裝gcc1. gcc是什么&#xff1f;2. gcc下載地址3. gcc的安裝4. 安裝結果驗證 Centos離線安裝gcc 1. gcc是什么&#xff1f; GCC&#xff08;GNU Compiler Collection&#xff09;是 GNU 項目下的開源編譯器套件&#xff0c;主要用于將 C、C 等編程語言的源…

JAVA中的多態性以及它在實際編程中的作用

JAVA中的多態性以及它在實際編程中的作用&#xff1f; 在Java中&#xff0c;多態性是指一個對象可以具有多種形態。它主要體現在兩個方面&#xff1a;編譯時多態和運行時多態。 1.編譯時多態 編譯時多態通過方法重載&#xff08;Overloading&#xff09;來實現。方法重載是指…

NetLink內核套接字案例分析

一、基礎知識 Netlink 是 Linux 系統中一種內核與用戶空間通信的高效機制&#xff0c;而 Netlink 消息是這種通信的核心載體。它允許用戶態程序&#xff08;如網絡配置工具、監控工具&#xff09;與內核子系統&#xff08;如網絡協議棧、設備驅動&#xff09;交換數據&#xff…

批量壓縮與優化 Excel 文檔,減少 Excel 文檔大小

當我們在 Excel 文檔中插入圖片資源的時候&#xff0c;如果我們插入的是原圖&#xff0c;可能會導致 Excel 變得非常的大。這非常不利于我們傳輸或者共享。那么當我們的 Excel 文件非常大的時候&#xff0c;我們就需要對文檔做一些壓縮或者優化的處理。那有沒有什么方法可以實現…

基于深度學習的多模態人臉情緒識別研究與實現(視頻+圖像+語音)

這是一個結合圖像和音頻的情緒識別系統&#xff0c;從架構、數據準備、模型實現、訓練等。包括數據收集、預處理、模型訓練、融合方法、部署優化等全流程。確定完整系統的組成部分&#xff1a;數據收集與處理、模型設計與訓練、多模態融合、系統集成、部署優化、用戶界面等。詳…

保姆級離線TiDB V8+解釋

以前學習的時候還是3版本&#xff0c;如今已經是8版本了 https://cn.pingcap.com/product-community/?_gl1ujh2l9_gcl_auMTI3MTI3NTM3NC4xNzM5MjU3ODE2_gaMTYwNzE2NTI4OC4xNzMzOTA1MjUz_ga_3JVXJ41175MTc0MTk1NTc1OC4xMS4xLjE3NDE5NTU3NjIuNTYuMC41NDk4MTMxNTM._ga_CPG2VW1Y4…

spark實驗2

一.實驗題目 實驗所需要求&#xff1a; centos7虛擬機 pyspark spark python3 hadoop分布式 統計歷屆春晚的節目數目 統計各個類型節目的數量&#xff0c;顯示前10名 統計相聲類節目歷年的數目。 查詢每個演員在春晚上表演節目的數量。 統計每年各類節目的數量&#xff0…

學習文章:Spring Boot 中如何使用 `@Async` 實現異步處理

文章目錄 學習文章&#xff1a;Spring Boot 中如何使用 Async 實現異步處理 一、什么是 Async&#xff1f;優點&#xff1a; 二、Spring Boot 中啟用 Async1. 啟用異步支持2. 配置線程池&#xff08;可選&#xff09;3. 使用 Async 注解4. 調用異步方法 三、Async 的進階用法1.…