下一代Python 包管理工具 uv

image.png

在Python 項目用,常用的兩個構(gòu)建打包工具,一個是虛擬環(huán)境,virtualenv, 一個是依賴包管理工具pip,開始這2個工具都是第三方的,后來收編到 Python 官方,使用體驗有了很大的提升,后來有工具嘗試把這兩個工具合并,如pipvenv 等,但是這些工具都是用Python寫的,Python 是腳本語言,特別是處理包依賴的時候有大量的IO操作,這是Python就顯得有點慢。前端生態(tài)最近都在用表??的Rust 重寫工具鏈,Python 生態(tài)也有人在用Rust 寫Python 工具,uv 就是一個代表。

uv 是什么

uv 是一個一個非??斓腜ython包安裝和解析器,用Rust編寫。設(shè)計為代替 pip和pip-tools 的工具。

uv 有哪些特點

  • 替代方案: 可完全替代常用的 pip、pip-tools 和 virtualenv 命令。
  • 超快速度: 比 pip 和 pip-tools (pip-compile 和 pip-sync) 快 10-100 倍。
  • 節(jié)省磁盤空間: 具有全局緩存,可重復(fù)使用依賴項,節(jié)省磁盤空間。
  • 輕松安裝: 可通過 curl、pip、pipx 等多種方式安裝。uv 是靜態(tài)二進制文件,無需安裝 Rust 或 Python 即可使用。
  • 廣泛兼容: 通過大量測試,確保兼容 PyPI 前 10,000 個常用包。
  • 跨平臺支持: 支持 macOS、Linux 和 Windows 系統(tǒng)。
  • 高級功能: 提供依賴項版本覆蓋和替代解析策略等高級功能。
  • 清晰易懂的錯誤信息: 提供業(yè)界最佳的錯誤消息,并包含沖突跟蹤解析器。
  • 支持高級 pip 功能: 支持 pip 的各種高級功能,例如可編輯安裝、Git 依賴項、直接 URL 依賴項、本地依賴項、約束、源代碼發(fā)布包、HTML 和 JSON 索引等。

安裝

# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh

# On Windows.
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# With pip.
pip install uv

# With pipx.
pipx install uv

# With Homebrew.
brew install uv


使用

uv venv  # 在 .venv 文件夾創(chuàng)建虛擬管徑
uv pip install flask                # 安裝依賴 Flask.
uv pip install -r requirements.txt  # 從 requirements.txt 文件中安裝
uv pip freeze > requirements.txt # 導出依賴聲明
image.png
image.png

參考

github uv
官網(wǎng)
pip requirements.txt

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容