介紹
uv是一個非常快的 Python 包安裝程序和 pip 解析器,用 Rust 編寫,設計為pip-tools的直接替代品。
以下是官網給出的UV與其他包管理工具解決依賴(左)和安裝包(右)的對比圖。
可以看出UV是一個極快的 Python 包解析器和安裝程序。
uv的核心產品原則:
- 專注于性能。 在上述基準測試中,uv 比沒有緩存的 pip 和 pip-tools 快 8-10 倍,在使用熱緩存運行時(例如,重新創建虛擬環境或更新依賴項)快 80-115 倍。UV 使用全局模塊緩存來避免重新下載和重新構建依賴項,并在支持的文件系統上利用 Copy-on-Write 和硬鏈接來最大限度地減少磁盤空間使用。
- 優化易用。 雖然uv對 Python 打包的未來有著遠大的抱負,但 uv 的初始版本集中在支持 uv pip 接口后面的 pip 和 pip-tools API,使其可以被現有項目使用,無需配置。同樣,uv 可以用作“僅”解析器(uv pip compile 以鎖定依賴項)、“僅”虛擬環境創建器 (uv venv)、“僅”包安裝程序 (uv pip sync) 等。它既是統一的,也是模塊化的。
- 簡化的工具鏈。 uv作為單個靜態二進制文件提供,能夠替換pip、pip-tools和virtualenv。uv 沒有直接的 Python 依賴項,因此您可以將其與 Python 本身分開安裝,從而無需管理pip跨多個 Python 版本(例如,pipvs. pip3vs. pip3.7)的安裝。
安裝
uv支持Linux、Windows和macOS,并且已經針對公共 PyPI 索引進行了大規模測試。
curl
curl -LsSf https://astral.sh/uv/install.sh | sh
win
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
pip
pip install uv
pipx
pipx install uv