之前文章和大家分享過,將會出一篇專欄(從電腦裝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
四、注意事項
- 系統自帶的 Python(如
/usr/bin/python3
)不要卸載,可能影響系統功能 - 推薦使用虛擬環境管理項目依賴:
#?進到python工程目錄下,使用以下命令創建虛擬環境,同層目錄會多出個/myenv
python3.11?-m?venv?myenv
#?激活/myenv目錄虛擬環境
source?myenv/bin/activate
python各版本對比詳解
一、推薦版本
- 新項目優先選擇:
- Python 3.11/3.12(最新穩定版):性能優化顯著,適合新項目
- Python 3.10:長期支持(LTS),兼容性廣泛
- Python 3.9:企業級應用常用穩定版本
- 特殊情況選擇:
- 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.7 | dataclasses 模塊、異步生成器、類型注解延遲求值 | 遺留系統維護 |
三、選擇依據
- 性能需求:3.11+ 解釋器速度顯著提升
- 新特性依賴:如需要
match-case
(3.10+)或類型系統改進(3.12+) - 兼容性要求:
- 第三方庫支持(如 TensorFlow/PyTorch 通常滯后1-2個小版本)
- 框架版本(如 Django 4.2 要求 Python ≥3.8)
- 維護周期:
- Python 3.12:2027年終止支持
- Python 3.10:2026年終止支持
- Python 3.9:2025年終止支持
四、實踐建議
- 多版本管理:使用
pyenv
(推薦)或conda
管理多個版本 - 虛擬環境:為每個項目創建獨立環境(
venv
/pipenv
/poetry
) - 升級策略:
#?使用?pyenv?安裝新版本并遷移
pyenv?install?3.12.0
pyenv?local?3.12.0
pip?freeze?>?requirements.txt??#?舊環境導出依賴
pip?install?-r?requirements.txt
五、版本生命周期參考
版本 | 發布時間 | 終止支持時間 |
---|---|---|
3.12 | 2023-10 | 2028-10 |
3.11 | 2022-10 | 2027-10 |
3.10 (LTS) | 2021-10 | 2026-10 |
3.9 | 2020-10 | 2025-10 |
建議優先選擇仍在支持周期內的版本,以獲得安全更新和漏洞修復。