Python包管理工具uv常用場景使用超詳細指南

一、Python 版本管理
1. 查看已安裝的 Python 版本
uv python list
- 輸出示例:
Installed Python versions: - 3.11.5 (default) - 3.12.0
2. 安裝指定 Python 版本
uv python install 3.12.0 # 安裝 Python 3.12.0
- 支持安裝任意版本(如
3.9.18、3.13.0等)。 - 安裝完成后,通過
uv python list驗證是否成功。
3. 切換項目 Python 版本
uv python pin 3.12.0 # 將當前項目鎖定到 Python 3.12.0
- 此命令會在項目根目錄生成
.python-version文件,記錄版本信息。 - 后續(xù)所有操作(如創(chuàng)建虛擬環(huán)境、運行腳本)均默認使用此版本。
二、虛擬環(huán)境管理
1. 創(chuàng)建虛擬環(huán)境并指定 Python 版本
uv venv --python 3.12.0 # 創(chuàng)建名為 .venv 的虛擬環(huán)境,使用 Python 3.12.0
- 若未指定
--python,默認使用項目鎖定的版本(通過uv python pin設(shè)置)。
2. 激活虛擬環(huán)境
# Linux/macOS source .venv/bin/activate # Windows .venv\Scripts\activate
- uv 推薦直接使用 uv run 命令運行腳本,無需手動激活環(huán)境:
uv run script.py # 自動激活虛擬環(huán)境并執(zhí)行腳本
三、依賴管理
1. 同步依賴項
在項目根目錄運行以下命令,根據(jù) pyproject.toml 或 requirements.txt 安裝依賴:
uv sync # 安裝所有依賴并生成/更新 uv.lock 文件
- 按分組安裝依賴:
uv sync --only prod # 僅安裝生產(chǎn)依賴 uv sync --only dev # 僅安裝開發(fā)依賴
2. 添加新依賴并同步
uv add requests==2.31.0 # 添加生產(chǎn)依賴 uv add --group dev pytest # 添加開發(fā)依賴 uv sync # 更新依賴并生成鎖定文件
四、多版本 Python 場景示例
場景:項目 A 使用 Python 3.11,項目 B 使用 Python 3.12
初始化項目 A
cd project_a uv python pin 3.11.5 # 鎖定 Python 版本 uv venv # 創(chuàng)建虛擬環(huán)境 uv add numpy # 添加依賴 uv sync
初始化項目 B
cd project_b uv python pin 3.12.0 # 鎖定 Python 版本 uv venv uv add pandas uv sync
運行腳本
cd project_a uv run main.py # 使用 Python 3.11 和 project_a 的依賴 cd ../project_b uv run main.py # 使用 Python 3.12 和 project_b 的依賴
五、常用命令總結(jié)
| 功能 | 命令 | 說明 |
|---|---|---|
| 安裝 Python 版本 | uv python install <version> | 如 uv python install 3.12.0 |
| 鎖定項目 Python 版本 | uv python pin <version> | 生成 .python-version 文件 |
| 創(chuàng)建虛擬環(huán)境 | uv venv | 默認使用鎖定的 Python 版本 |
| 同步依賴 | uv sync | 安裝依賴并生成/更新 uv.lock |
| 運行腳本 | uv run <script> | 自動激活虛擬環(huán)境并執(zhí)行 |
六、注意事項
全局 Python 版本
uv默認通過虛擬環(huán)境隔離 Python 版本,無需全局切換。每個項目獨立管理版本。依賴鎖定文件提交
uv.lock到版本控制,確保團隊成員和 CI/CD 環(huán)境的一致性。性能優(yōu)化利用
uv的全局緩存加速依賴安裝(默認路徑:~/.cache/uv)。
通過上述操作,uv 可實現(xiàn)從 Python 版本管理到依賴同步的全流程高效控制。
到此這篇關(guān)于Python包管理工具uv常用場景使用的文章就介紹到這了,更多相關(guān)Python包管理工具uv使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django框架創(chuàng)建mysql連接與使用示例
這篇文章主要介紹了Django框架創(chuàng)建mysql連接與使用,簡單介紹了Linux環(huán)境下mysql的安裝,并結(jié)合實例形式分析了Django框架基于第三方庫pymysql連接mysql數(shù)據(jù)庫相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
Python selenium鍵盤鼠標事件實現(xiàn)過程詳解
這篇文章主要介紹了Python selenium鍵盤鼠標事件實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
系統(tǒng)解析Python模擬Windows文件名排序的三種實現(xiàn)方案
在文件管理場景中,Windows資源管理器的排序規(guī)則因其符合人類自然認知而備受青睞,本文將系統(tǒng)解析Windows排序規(guī)則并提供三種Python實現(xiàn)方案,大家可以根據(jù)需要進行選擇2026-03-03
Python連接mysql數(shù)據(jù)庫的正確姿勢
這篇文章主要為大家詳細介紹了Python連接mysql數(shù)據(jù)庫的正確姿勢,如何使用Python連接mysql數(shù)據(jù)庫,本文為大家揭曉,感興趣的小伙伴們可以參考一下2016-02-02
Python 函數(shù)詳解:從基礎(chǔ)語法到高級使用技巧
本文基于實例代碼,全面講解 Python 函數(shù)的定義、參數(shù)傳遞、變量作用域及類型標注等知識點,幫助初學者快速掌握函數(shù)的使用技巧,感興趣的朋友跟隨小編一起學習吧2025-08-08
Python使用imaplib和email庫實現(xiàn)自動化郵件處理教程
在數(shù)字化辦公場景中,郵件自動化是提升工作效率的關(guān)鍵技能,下面這篇文章主要介紹了Python使用imaplib和email庫實現(xiàn)自動化郵件處理的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-08-08

