Python依賴包管理工具uv安裝與使用詳解
簡(jiǎn)介
UV 是一個(gè)用 Rust 編寫的 Python 包安裝和依賴管理工具,比傳統(tǒng)工具(如 pip)有著更快、更高效的體驗(yàn)。它主要關(guān)注兩個(gè)核心目標(biāo):
- 速度: UV 在包安裝、依賴解析和虛擬環(huán)境創(chuàng)建等方面進(jìn)行了優(yōu)化,速度有顯著的提升。
- 效率: UV 可以減少資源消耗,尤其是在大型項(xiàng)目中。
UV 基于 pip 和 venv 的概念,因此與現(xiàn)有 Python 生態(tài)系統(tǒng)兼容,學(xué)習(xí)曲線相對(duì)平緩。
GitHub倉(cāng)庫(kù):https://github.com/astral-sh/uv
1.安裝
使用 pip 安裝 UV:
pip install uv

檢查當(dāng)前安裝的 uv 版本,可以在命令行中運(yùn)行以下命令:
uv --version

2. 基本使用
2.1 創(chuàng)建虛擬環(huán)境
UV 可以快速創(chuàng)建 Python 虛擬環(huán)境:
uv venv .venv # 創(chuàng)建一個(gè)名為 .venv 的虛擬環(huán)境

與 python -m venv .venv 相比,UV 版本的速度通常更快。
2.2 激活虛擬環(huán)境
創(chuàng)建好虛擬環(huán)境后,需要激活它才能使用:
.venv\Scripts\activate # 在 Windows 上

uv venv -p 3.11.9 # 指定本機(jī)已安裝的Python版本

2.3 初始化項(xiàng)目
uv init # 生成pyproject.toml

2.4 安裝依賴
用 UV 導(dǎo)入 requirements.txt 到 pyproject.toml
uv add -r requirements.txt
這條命令會(huì)把 requirements.txt 里的所有依賴添加到 pyproject.toml,并生成/更新 uv.lock,同時(shí)自動(dòng)安裝依賴。
用 UV 管理依賴
以后我們可以用 uv add、uv remove、uv sync 等命令來管理依賴,而不再需要手動(dòng)維護(hù) requirements.txt。
從pyproject.toml自動(dòng)安裝依賴:
uv sync
這條命令會(huì)根據(jù) pyproject.toml(和 uv.lock,如果存在)自動(dòng)安裝所有聲明的依賴包。
如果是第一次運(yùn)行 uv sync,且還沒有 uv.lock 文件,uv 會(huì)解析 pyproject.toml,下載并安裝依賴,并自動(dòng)生成 uv.lock 文件用于鎖定依賴版本。

添加一個(gè)或多個(gè)依賴:
uv add pandas airtest

UV 在安裝依賴時(shí),會(huì)進(jìn)行并行下載和編譯,顯著提升速度。
2.4 移除依賴
使用 remove 命令移除依賴包:
uv remove requests
2.5 查看已安裝的包
使用 list 命令查看已安裝的包:
uv pip list

2.6 生成 requirements.txt
雖然 UV 自身不直接提供生成 requirements.txt 的功能,但你可以使用 pip freeze 命令:
uv pip freeze > requirements.txt
3. UV 與 Pip、Pipenv、Virtualenv 的對(duì)比
| 功能 | UV | Pip | Pipenv | Virtualenv |
|---|---|---|---|---|
| 安裝速度 | 更快 | 較慢 | 中等 | 不適用 |
| 資源占用 | 更低 | 較高 | 中等 | 中等 |
| 并行下載 | 支持 | 有限支持 | 不支持 | 不適用 |
| 虛擬環(huán)境創(chuàng)建速度 | 更快 | 較慢 | 中等 | 較慢 |
| 依賴管理 | 支持 | 支持 | 支持 | 不適用 |
| 虛擬環(huán)境管理 | 支持 | 不支持 | 支持 | 支持 |
| 項(xiàng)目初始化 | 支持 | 不支持 | 支持 | 不支持 |
| 依賴鎖定 | 支持 | 不支持 | 支持 | 不支持 |
| 跨平臺(tái)支持 | 支持 | 支持 | 支持 | 支持 |
總結(jié)
UV 是一個(gè)新興的 Python 包安裝和依賴管理工具,憑借其用 Rust 編寫的高效實(shí)現(xiàn),在速度和資源占用方面顯著優(yōu)于傳統(tǒng)的 pip 和 virtualenv。UV 不僅支持快速創(chuàng)建虛擬環(huán)境,還能并行下載和編譯依賴包,極大地提升了開發(fā)效率。此外,UV 還提供了項(xiàng)目初始化和依賴鎖定等功能,使其在功能上與 Pipenv 相當(dāng),但在性能上更具優(yōu)勢(shì)。
到此這篇關(guān)于Python 依賴包管理工具uv安裝使用詳解的文章就介紹到這了,更多相關(guān)Python 依賴包管理工具uv內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
keras.layers.Conv2D()函數(shù)參數(shù)用法及說明
這篇文章主要介紹了keras.layers.Conv2D()函數(shù)參數(shù)用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
python pygame實(shí)現(xiàn)五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了python pygame實(shí)現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
使用Python的networkx繪制精美網(wǎng)絡(luò)圖教程
今天小編就為大家分享一篇使用Python的networkx繪制精美網(wǎng)絡(luò)圖教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題
這篇文章主要介紹了如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09

