Ubuntu快速安裝Python3.11及多版本管理

之前文章和大家分享過,將會出一篇專欄(從電腦裝ubuntu系統,到安裝ubuntu的常用基礎軟件:jdk、python、node、nginx、maven、supervisor、minio、docker、git、mysql、redis、postgresql、mq、ollama等),目前CSDN專欄(https://blog.csdn.net/a13879442471/category_12899690.html)已經分享了**jdk、node、redis、ollama**的搭建,今天繼續和大家分享ubuntu如何快速安裝python3.11

那為何是3.11不是別的版本呢?主要現在Agent最主流框架LangGraph最新功能需要3.11以上版本,而且該版本也是目前大部分系統都支持的,底下我也將詳細講下python各個版本主要升級功能點!

Ubuntu 上安裝 Python3.11及多版本管理器pyenv的詳細步驟

一、Python3.11全自動命令安裝步驟

1、更新軟件包列表

sudo?apt?update

2、安裝依賴項

sudo?apt?install?-y?software-properties-common

3、添加 deadsnakes PPA(包含較新 Python 版本):

sudo?add-apt-repository?ppa:deadsnakes/ppa
sudo?apt?update

4、安裝Python3.11版本

sudo?apt?install?-y?python3.11?python3.11-dev?python3.11-venv

這里安裝可能會有點慢,一般5分鐘內可以安裝完,卡著沒動情況可以使用手動安裝方式

5、驗證安裝

python3.11?--version

二、ubuntu安裝多版本管理器pyenv

1、安裝依賴

sudo?apt?install?-y?make?build-essential?libssl-dev?zlib1g-dev?\
libbz2-dev?libreadline-dev?libsqlite3-dev?wget?curl?llvm?\
libncurses5-dev?libncursesw5-dev?xz-utils?tk-dev?libffi-dev?liblzma-dev

2、手動安裝 pyenv

一鍵安裝命令如下,注意:國內服務器無法直接安裝

curl?https://pyenv.run?|?bash

可以看到國內服務器是無法直接連接下載的

這里我們使用手動安裝方式

2.1、轉換pyenv的github地址

github地址:https://github.com/pyenv/pyenv#

2.2、克隆到自己的服務器

我們使用蝦殼加速后的地址轉一道,再克隆到用戶根目錄下去,這里沒有安裝git的可以使用wget或者curl下載

git?clone?https://gh.llkk.cc/https://github.com/pyenv/pyenv.git?~/.pyenv

把pyenv工程拷貝到用戶根目錄.pyenv下

2.3、配置環境變量

添加pyenv的目錄到配置文件~/.bashrc,按以下四步執行

echo?'export?PYENV_ROOT="$HOME/.pyenv"'?>>?~/.bashrc
echo?'command?-v?pyenv?>/dev/null?||?export?PATH="$PYENV_ROOT/bin:$PATH"'?>>?~/.bashrc
echo?'eval?"$(pyenv?init?-)"'?>>?~/.bashrc
source?~/.bashrc

執行完后可以輸出常用pyenv命令檢查安裝結果

3、常用 pyenv 命令:

  • 查看可安裝版本:pyenv install --list
  • 安裝指定版本:pyenv install 3.9.7
  • 查看已安裝版本:pyenv versions
  • 設置全局版本:pyenv global 3.9.7
  • 設置局部版本(當前目錄):pyenv local 3.8.12

三、使用pyenv安裝指定版本python

接下來,我們就可以通過pyenv的命令快捷安裝python各個版本了,無需再通過方式一去安裝一堆組件,這里我們以使用pyenv安裝python 3.9.7為例

1、安裝python3.9版本

直接運行以下命令安裝python3.9.7(注意:這里安裝會有點慢,不過還是可以安裝的,耐心等待幾分鐘即可)

pyenv?install?3.9.7

如果你確實下載不動,也可以使用以下替代方式,先把python包下載到.pyenv/cache/,使用pyenv install命令時會優先去查找本地緩存

wget?https://registry.npmmirror.com/-/binary/python/3.9.7/Python-3.9.7.tar.xz?-P?~/.pyenv/cache/pyenv?install?3.9.7

優先推薦第一種直接下載方式,使用wget下載到緩存目錄可能后期會有一系列報錯要修復

2、設置全局安裝版本

這里以設置3.9.7版本為例

pyenv?global?3.9.7

設置后可以看到,使用python -V查詢版本時,已經從默認的2.7.18升到了3.9.7

四、注意事項

  1. 系統自帶的 Python(如 /usr/bin/python3)不要卸載,可能影響系統功能
  2. 推薦使用虛擬環境管理項目依賴:
#?進到python工程目錄下,使用以下命令創建虛擬環境,同層目錄會多出個/myenv
python3.11?-m?venv?myenv
#?激活/myenv目錄虛擬環境
source?myenv/bin/activate

python各版本對比詳解

一、推薦版本

  1. 新項目優先選擇
    • Python 3.11/3.12(最新穩定版):性能優化顯著,適合新項目
    • Python 3.10:長期支持(LTS),兼容性廣泛
    • Python 3.9:企業級應用常用穩定版本
  2. 特殊情況選擇
    • Python 3.7/3.8:僅限需要兼容舊庫/框架的遺留項目
    • 避免使用 Python 2.x:已于2020年停止官方支持

二、主要版本核心區別

版本關鍵特性/改進適用場景
3.12性能優化(更快的解釋器)、錯誤提示增強、類型系統改進新項目、追求性能的場景
3.11性能提升25%-60%(Faster CPython)、異常鏈改進、TOML標準庫支持高性能計算、Web服務
3.10結構化模式匹配(match-case)、更清晰的類型提示、錯誤定位優化通用開發、長期維護項目
3.9字典合并操作符(``)、類型提示語法簡化、垃圾回收改進
3.8海象運算符(:=)、僅位置參數(/)、f-string 調試支持需要新語法的腳本開發
3.7dataclasses 模塊、異步生成器、類型注解延遲求值遺留系統維護

三、選擇依據

  1. 性能需求:3.11+ 解釋器速度顯著提升
  2. 新特性依賴:如需要 match-case(3.10+)或類型系統改進(3.12+)
  3. 兼容性要求
    • 第三方庫支持(如 TensorFlow/PyTorch 通常滯后1-2個小版本)
    • 框架版本(如 Django 4.2 要求 Python ≥3.8)
  4. 維護周期
    • Python 3.12:2027年終止支持
    • Python 3.10:2026年終止支持
    • Python 3.9:2025年終止支持

四、實踐建議

  1. 多版本管理:使用 pyenv(推薦)或 conda 管理多個版本
  2. 虛擬環境:為每個項目創建獨立環境(venv/pipenv/poetry
  3. 升級策略
#?使用?pyenv?安裝新版本并遷移
pyenv?install?3.12.0
pyenv?local?3.12.0
pip?freeze?>?requirements.txt??#?舊環境導出依賴
pip?install?-r?requirements.txt

五、版本生命周期參考

版本發布時間終止支持時間
3.122023-102028-10
3.112022-102027-10
3.10 (LTS)2021-102026-10
3.92020-102025-10

建議優先選擇仍在支持周期內的版本,以獲得安全更新和漏洞修復。

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

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

相關文章

裸金屬服務器和云服務器之間的差別

裸金屬服務器能夠直接在硬件上運行,不需要額外的虛化層,讓每個應用程序或者是服務都能夠在實際的硬件上運行,不需要和其他虛擬服務器來共享資源;而云服務器作為一種虛擬服務器,是通過虛擬化技術為企業提供一個獨立的計…

C++ 中的幾種鎖機制整理

1. 互斥鎖&#xff08;std::mutex&#xff09; ? 簡介 最常用的線程同步工具。保證同一時間只能有一個線程訪問臨界區。 ? 使用方式 #include <mutex>std::mutex mtx;void safeFunction() {std::lock_guard<std::mutex> lock(mtx);// 臨界區代碼 }? 優點 簡…

Graph Representation Learning【圖最短路徑優化/Node2vec/Deepwalk】

文章目錄 Q1&#xff1a;網絡性質&#xff1a;1.數據讀取與鄰接表構建&#xff1a;2.基本特征和連通性&#xff1a; 算法思路&#xff1a;1. 廣度優先搜索&#xff08;BFS&#xff09;標記前驅:2. 回溯生成所有最短路徑: 實驗結果&#xff1a;復雜度分析&#xff1a; Q2&#x…

MATLAB中的概率分布生成:從理論到實踐

MATLAB中的概率分布生成&#xff1a;從理論到實踐 引言 MATLAB作為一款強大的科學計算軟件&#xff0c;在統計分析、數據模擬和概率建模方面提供了豐富的功能。本文將介紹如何使用MATLAB生成各種常見的概率分布&#xff0c;包括均勻分布、正態分布、泊松分布等&#xff0c;并…

經典算法 (A/B) mod C

(A/B) mod C 問題描述 求(A/B)%C&#xff0c;但由于A和B實在太大了&#xff0c;我們只給出A % C&#xff0c;B % C。 (我們保證給定的A必能被B整除&#xff0c;且gcd(B,C) 1)。 輸入描述 輸入一行三個整數&#xff0c;分別是A % C&#xff0c;B % C&#xff0c;C。 輸出…

大數據技術的主要方向及其應用詳解

文章目錄 一、大數據技術概述二、大數據存儲與管理方向1. 分布式文件系統2. NoSQL數據庫3. 數據倉庫技術 三、大數據處理與分析方向1. 批處理技術2. 流處理技術3. 交互式分析4. 圖計算技術 四、大數據機器學習方向1. 分布式機器學習2. 深度學習平臺3. 自動機器學習(AutoML) 五、…

Deeper and Wider Siamese Networks for Real-Time Visual Tracking

現象&#xff1a; the backbone networks used in Siamese trackers are relatively shallow, such as AlexNet , which does not fully take advantage of the capability of modern deep neural networks. direct replacement of backbones with existing powerful archite…

ubuntu22.04卸載vscode

方法 1&#xff1a;通過 Snap 卸載 VSCode 如果你是通過 Snap 安裝的 VSCode&#xff08;Ubuntu 22.04 默認推薦方式&#xff09;&#xff0c;按照以下步驟卸載&#xff1a; 檢查是否通過 Snap 安裝&#xff1a; bash snap list | grep code如果輸出顯示 code&#xff0c;說明…

OpenCV 背景建模詳解:從原理到實戰

在計算機視覺領域&#xff0c;背景建模是一項基礎且重要的技術&#xff0c;它能夠從視頻流中分離出前景目標&#xff0c;廣泛應用于運動目標檢測、視頻監控、人機交互等場景。OpenCV 作為計算機視覺領域最受歡迎的開源庫之一&#xff0c;提供了多種高效的背景建模算法。本文將深…

Android native崩潰問題分析

最近在做NDK項目的時候&#xff0c;出現了啟動應用就崩潰了&#xff0c;崩潰日志如下&#xff1a; 10:41:04.743 A Build fingerprint: samsung/g0qzcx/g0q:13/TP1A.220624.014/S9060ZCU4CWH1:user/release-keys 10:41:04.743 A Revision: 12 10:41:04.743 A ABI: arm64…

【Shell的基本操作】

文章目錄 一、實驗目的二、實驗環境三、實驗內容3.1 Shell變量與腳本基礎3.2 定制終端提示符&#xff08;PS1變量&#xff09;3.3 文件查找與類型確認&#xff08;find命令&#xff09;3.4 管道命令實戰&#xff08;用戶登錄統計&#xff09;3.5 交互式備份壓縮腳本 四、總結4.…

快速選擇算法:優化大數據中的 Top-K 問題

在處理海量數據時&#xff0c;經常會遇到這樣的需求&#xff1a;找出數據中最大的前 K 個數&#xff0c;而不必對整個數據集進行排序。這種場景下&#xff0c;快速選擇算法&#xff08;Quickselect&#xff09;就成了一個非常高效的解決方案。本文將通過一個 C 實現的快速選擇算…

AQS 基本思想與源碼分析

充分了解 AbstractQueuedSynchronizer 對于深入理解并發編程是有益處的&#xff0c;它是用來構建鎖或者其他同步組件的基礎框架&#xff0c;我們常用的同步工具類如 CountDownLatch、Semaphore、ThreadPoolExecutor、ReentrantLock 和 ReentrantReadWriteLock 內部都用到了它。…

理解位圖算法:使用 C++ 實現高效數據查重

在處理海量數據時&#xff0c;我們常常需要檢查某個元素是否已經存在于集合中。傳統的方法如哈希表或集合容器雖然有效&#xff0c;但在數據量極大的情況下會占用大量內存。這時&#xff0c;位圖算法 (Bitmap) 就成為了一種非常高效的解決方案。本文將通過分析一段使用位圖算法…

數學復習筆記 12

前言 現在做一下例題和練習題。矩陣的秩和線性相關。另外還要復盤前面高數的部分的內容。奧&#xff0c;之前矩陣的例題和練習題&#xff0c;也沒有做完&#xff0c;行列式的例題和練習題也沒有做完。累加起來了。以后還是得學一個知識點就做一個部分的內容&#xff0c;日拱一…

1-10 目錄樹

在ZIP歸檔文件中&#xff0c;保留著所有壓縮文件和目錄的相對路徑和名稱。當使用WinZIP等GUI軟件打開ZIP歸檔文件時&#xff0c;可以從這些信息中重建目錄的樹狀結構。請編寫程序實現目錄的樹狀結構的重建工作。 輸入格式: 輸入首先給出正整數N&#xff08;≤104&#xff09;…

Python爬蟲實戰:研究 RPC 遠程調用機制,實現逆向解密

1. 引言 在網絡爬蟲技術的實際應用中,目標網站通常采用各種加密手段保護其數據傳輸和業務邏輯。這些加密機制給爬蟲開發帶來了巨大挑戰,傳統的爬蟲技術往往難以應對復雜的加密算法。逆向解密作為一種應對策略,旨在通過分析和破解目標網站的加密機制,獲取原始數據。 然而,…

debugfs:Linux 內核調試的利器

目錄 一、什么是 debugfs&#xff1f;二、debugfs 的配置和啟用方式2.1 內核配置選項2.2 掛載 debugfs2.3 Android 系統中的 debugfs 三、debugfs 的典型應用場景3.1 調試驅動開發3.2 內核子系統調試3.3 性能分析 四、常見 debugfs 子目錄與功能示例4.1 /sys/kernel/debug/trac…

lua 作為嵌入式設備的配置語言

從lua的腳本中獲取數據 lua中棧的索引 3 | -1 2 | -2 1 | -3 可以在lua的解釋器中加入自己自定的一些功能,其實沒啥必要,就是為了可以練習下lua

棋牌室臺球室快速接入美團團購接口

北極星平臺從2024年12月份開始慢慢關閉&#xff0c;現在很多開發者反饋北極星token已經不能刷新了&#xff0c;全部遷移到美團團購綜合平臺。 申請這個平臺要求很高 1、保證金費用要15萬起步 2、平臺必須是二級等保和安全產品 &#xff0c;一個二級等保費用10萬起步 所以很多…