Python依賴包管理工具uv安裝與使用詳解
簡介
UV 是一個用 Rust 編寫的 Python 包安裝和依賴管理工具,比傳統(tǒng)工具(如 pip)有著更快、更高效的體驗。它主要關(guān)注兩個核心目標:
- 速度: UV 在包安裝、依賴解析和虛擬環(huán)境創(chuàng)建等方面進行了優(yōu)化,速度有顯著的提升。
- 效率: UV 可以減少資源消耗,尤其是在大型項目中。
UV 基于 pip 和 venv 的概念,因此與現(xiàn)有 Python 生態(tài)系統(tǒng)兼容,學(xué)習(xí)曲線相對平緩。
GitHub倉庫:https://github.com/astral-sh/uv
1.安裝
使用 pip 安裝 UV:
pip install uv
檢查當前安裝的 uv 版本,可以在命令行中運行以下命令:
uv --version
2. 基本使用
2.1 創(chuàng)建虛擬環(huán)境
UV 可以快速創(chuàng)建 Python 虛擬環(huán)境:
uv venv .venv # 創(chuàng)建一個名為 .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 # 指定本機已安裝的Python版本
2.3 初始化項目
uv init # 生成pyproject.toml
2.4 安裝依賴
用 UV 導(dǎo)入 requirements.txt 到 pyproject.toml
uv add -r requirements.txt
這條命令會把 requirements.txt 里的所有依賴添加到 pyproject.toml,并生成/更新 uv.lock,同時自動安裝依賴。
用 UV 管理依賴
以后我們可以用 uv add、uv remove、uv sync 等命令來管理依賴,而不再需要手動維護 requirements.txt。
從pyproject.toml自動安裝依賴:
uv sync
這條命令會根據(jù) pyproject.toml(和 uv.lock,如果存在)自動安裝所有聲明的依賴包。
如果是第一次運行 uv sync,且還沒有 uv.lock 文件,uv 會解析 pyproject.toml,下載并安裝依賴,并自動生成 uv.lock 文件用于鎖定依賴版本。
添加一個或多個依賴:
uv add pandas airtest
UV 在安裝依賴時,會進行并行下載和編譯,顯著提升速度。
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 的對比
功能 | UV | Pip | Pipenv | Virtualenv |
---|---|---|---|---|
安裝速度 | 更快 | 較慢 | 中等 | 不適用 |
資源占用 | 更低 | 較高 | 中等 | 中等 |
并行下載 | 支持 | 有限支持 | 不支持 | 不適用 |
虛擬環(huán)境創(chuàng)建速度 | 更快 | 較慢 | 中等 | 較慢 |
依賴管理 | 支持 | 支持 | 支持 | 不適用 |
虛擬環(huán)境管理 | 支持 | 不支持 | 支持 | 支持 |
項目初始化 | 支持 | 不支持 | 支持 | 不支持 |
依賴鎖定 | 支持 | 不支持 | 支持 | 不支持 |
跨平臺支持 | 支持 | 支持 | 支持 | 支持 |
總結(jié)
UV 是一個新興的 Python 包安裝和依賴管理工具,憑借其用 Rust 編寫的高效實現(xiàn),在速度和資源占用方面顯著優(yōu)于傳統(tǒng)的 pip 和 virtualenv。UV 不僅支持快速創(chuàng)建虛擬環(huán)境,還能并行下載和編譯依賴包,極大地提升了開發(fā)效率。此外,UV 還提供了項目初始化和依賴鎖定等功能,使其在功能上與 Pipenv 相當,但在性能上更具優(yōu)勢。
到此這篇關(guān)于Python 依賴包管理工具uv安裝使用詳解的文章就介紹到這了,更多相關(guān)Python 依賴包管理工具uv內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
keras.layers.Conv2D()函數(shù)參數(shù)用法及說明
這篇文章主要介紹了keras.layers.Conv2D()函數(shù)參數(shù)用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02使用Python的networkx繪制精美網(wǎng)絡(luò)圖教程
今天小編就為大家分享一篇使用Python的networkx繪制精美網(wǎng)絡(luò)圖教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題
這篇文章主要介紹了如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09