新一代python管理工具--uv

uv 工具全方位介紹

起源與背景

uv 是由 Astral(pipx 作者)團隊用 Rust 語言開發的新一代 Python 包和環境管理工具。其目標是解決傳統 pip/venv/conda 在依賴解析慢、環境隔離繁瑣、命令復雜等方面的痛點,為現代 Python 項目提供極速、自動化、一體化的依賴和環境管理體驗。


主要特點

  • 極致性能:uv 采用 Rust 實現,依賴解析和包安裝速度比 pip 快 10-100 倍(詳見官方基準測試)。
    • 為什么快?Rust 實現的高效算法、并發下載、優化的依賴解析流程,使 uv 能極大提升解析和安裝效率。
  • 一站式工具集成:uv 可替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等,統一管理依賴、環境、腳本、Python 版本和工具。
  • 全局緩存與依賴去重:通過全局緩存和依賴去重機制,顯著節省磁盤空間,多項目共享依賴無需重復安裝。
  • 自動環境與項目管理:每個項目自動創建 .venv,支持 universal lockfile,支持大型項目工作區(workspaces)。
  • 支持 Python 版本管理:可安裝和切換多版本 Python。
  • 腳本運行與工具管理:支持帶內依賴元數據的腳本運行,支持直接安裝和運行 Python 工具包。
  • pip 兼容命令行:完全兼容 pip 常用命令,遷移無門檻。
  • 跨平臺,安裝便捷:支持 macOS、Linux、Windows,無需預裝 Rust/Python,可用 curl、pip、pipx 安裝。

安裝方法

macOS 和 Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

通過 pip 安裝(需已安裝 Python)

pip install uv

通過 pipx 安裝

pipx install uv

更多安裝方式和細節請參考 uv 官方安裝文檔


常見用法

1. 安裝依賴

uv pip install requests
uv pip install -r requirements.txt

2. 運行 Python 腳本

uv run main.py
uv run --python "C:/path/to/python.exe" main.py

3. 查看/管理依賴

uv pip list
uv pip freeze > requirements.txt
uv pip uninstall numpy

4. 自動創建虛擬環境

  • 只需在項目目錄下運行任何 uv 命令,uv 會自動檢測并創建 .venv 環境。
    如果要制定python 版本, 可以在工程根目錄下放一個.python-version文件, 或者通過命令行指定python 版本。 否則uv會自動選擇一個版本下載。

5. 解析 pyproject.toml

  • uv 會自動識別并安裝 pyproject.tomlrequirements.txtsetup.py 中聲明的依賴。

常用命令速查表

命令說明
uv pip install 包名安裝依賴包
uv pip uninstall 包名卸載依賴包
uv pip list查看已安裝包
uv pip freeze導出依賴列表
uv run xxx.py在隔離環境中運行腳本
uv run --python 路徑 xxx.py用指定 Python 運行腳本
uv pip install -r requirements.txt按依賴文件安裝所有依賴

uv 相比 pip 的主要優勢

對比項pip(傳統工具)uv(新一代工具)
依賴解析與安裝速度較慢,解析和安裝大項目依賴時耗時明顯極快,Rust 實現,依賴解析和包安裝速度大幅領先
虛擬環境管理需手動用 venv/virtualenv 創建與激活自動為每個項目創建和管理 .venv,無需手動激活
自動識別依賴文件僅支持 requirements.txt,pyproject.toml 支持有限自動識別 pyproject.toml、requirements.txt、setup.py 等多種格式
一鍵運行腳本需手動激活環境再運行腳本uv run xxx.py 自動在隔離環境中運行腳本
命令兼容性pip 命令標準兼容 pip 子命令,且功能更豐富
安裝體驗依賴沖突、環境不一致可能導致出錯自動隔離、自動同步依賴,極大減少環境沖突
包緩存支持緩存,但多環境間仍需重復安裝高效緩存,自動重用已下載包,提升多項目間安裝速度
跨平臺支持良好同樣良好

總結

  • uv 在依賴解析速度、自動環境管理、依賴文件識別和一鍵運行腳本等方面全面領先 pip。
  • uv 適合追求開發效率、環境隔離和現代項目自動化管理的用戶。
  • pip 仍是最廣泛兼容的傳統工具,適合簡單項目或對兼容性有極高要求的場景。

適用場景

  • 現代 Python 項目開發、測試、部署
  • 需要快速、自動化的依賴和環境管理
  • 追求極致開發體驗和環境隔離的開發者

參考資料

  • uv 官方文檔
  • PEP 582(相關的本地包管理提案)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84854.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84854.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84854.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

路由交換技術-思科拓撲搭建

配置流程 1.搭建網絡拓撲圖。 2.規劃配置IP地址,內網配置為192.168.1.0和192.168.2.0網段。 3.劃分vlan10,vlan20,vlan30。 4.配置靜態、動態路由。配置路由器Router7,使內外網互通。 5.配置鏈路聚合。通過鏈路聚合技術&#xff…

清華大學視覺空間智能新突破!Spatial-MLLM:提升多模態大語言模型的視覺空間智能能力

作者:Diankun Wu, Fangfu Liu, Yi?Hsin Hung, Yueqi Duan 單位:清華大學 論文標題:Spatial-MLLM: Boosting MLLM Capabilities in Visual-based Spatial Intelligence 論文鏈接:https://arxiv.org/pdf/2505.23747 項目主頁&a…

AI與機器學習ML:利用Python 從零實現神經網絡

自線性回歸以來,我們已經涵蓋了很多領域。在本期中,我們將開始了解神經網絡內部工作原理的旅程*。* 如果一個人試圖了解任何使用生成式 AI 的工具、應用程序、網站或其他系統的內部工作原理,那么掌握神經網絡的架構至關重要。在這個故事中&a…

Vim 匹配跳轉與搜索命令完整學習筆記

Vim 匹配跳轉與搜索命令完整學習筆記 文章目錄 Vim 匹配跳轉與搜索命令完整學習筆記1. 括號/結構匹配% - 括號匹配跳轉[[ / ]] - 函數定義跳轉[{ / ]} - 代碼塊邊界跳轉 2. 精確單詞搜索* - 向下精確搜索# - 向上精確搜索 3. 模糊單詞搜索g* - 向下模糊搜索g# - 向上模糊搜索 4…

安卓9.0系統修改定制化____系列 ROM解打包 修改 講解 導讀篇

專欄系列前言: 💝💝💝本專欄作者從事rom系統修改以及手機維修 刷機多年。從當年山寨機開始。歷經安卓4.--至目前的安卓15.合作伙伴遍及各類工作室以及PDA商家 私人玩友等。在廣告機 平板 pda設備 會議機 車機的rom修改中略有經…

Vue3本地存儲實現方案

在 Vue 3 中實現本地存儲(如用戶配置數據),主要通過瀏覽器提供的 localStorage 或 sessionStorage API。以下是詳細實現方案: 基礎實現(原生 API) javascript 復制 下載 // 存儲數據 localStorage.set…

計算機視覺與深度學習 | 2024年至2025年圖像匹配算法總結(原理,公式,代碼,開源鏈接)

圖像匹配算法 一、核心算法分類與技術路線1. **傳統局部特征 + 匹配優化**(魯棒性強,適合資源受限場景)2. **端到端密集匹配網絡**(高精度,適合復雜形變/弱紋理)3. **基于光流思想的匹配網絡**4. **2024-2025年新趨勢**二、核心開源工具庫匯總三、典型代碼流程(以LoFTR為…

瑞芯微 MIPI D-PHY 接收器(RX)驅動學習筆記

驅動文件位置 driver/phy/rockchip/phy-rockchip-mipi-rx.c 1 重要結構體 struct mipidphy_priv {struct device *dev;//表示與驅動程序關聯的設備。它用于設備管理,如設備注冊、注銷等。struct regmap *regmap_grf;//用于映射和訪問通用寄存器文件(Gen…

MySQL從入門到DBA深度學習指南

目錄 引言 MySQL基礎入門 數據庫基礎概念 MySQL安裝與配置 SQL語言進階 數據庫設計與規范化 數據庫設計原則 表結構設計 MySQL核心管理 用戶權限管理 備份與恢復 性能優化基礎 高級管理與高可用 高可用與集群 故障診斷與監控 安全與審計 DBA實戰與運維 性能調…

多個機器人同時加載在rviz及gazebo同一個場景中

1. 配置launch文件 gazebo的加載相對容易,但rviz中加載,需要構建完整的tf樹(world → map(或map_merged)→ odom → base_footprint → base_link → base_scan)才能正常顯示,launch文件主要是…

Text2SQL、Text2API基礎

你有一個能力超強但“不太懂行”的助手(大語言模型LLM)。它能說會道,知識淵博,但它: 不懂你的數據庫: 不知道你的數據庫里有哪些表,表里有哪些字段,這些字段代表什么意思。不懂你的…

JDK 8u231安裝教程 - Windows 64位下載安裝及環境變量配置指南

下載安裝包 把jdk-8u231-windows-x64.exe這個文件下載下來,下載鏈接:https://pan.quark.cn/s/a610ca7e5e9d,隨便放哪兒,比如桌面或者下載文件夾。 雙擊運行安裝 找到下載好的那個exe文件,直接雙擊打開。可能會彈個窗口…

LatentSync V8版 - 音頻驅動視頻生成數字人說話視頻 更新V1.6版模型 支持50系顯卡 支持批量 一鍵整合包下載

LatentSync 是字節跳動開源的一款"AI口型同步神器",簡單來說就是能讓視頻里的人物嘴巴動得和聲音完美匹配的工具。比如你給一段配音,它能自動調整視頻人物的嘴型,按照配音里的聲音說出來,就像真人說話一樣自然。簡單說就…

從一組線段中得出四邊形的算法

原始的需求是使用OpenCV的直線檢測算法(例如LSD)之后,得到一組線段。然后需要從這些線段得到類似矩形的四邊形,用于檢測經過透視變換的矩形物體。這些線段不一定首尾相接,彼此之間可能相交或有一定距離。 以下是需求圖…

提示詞Prompts(2)

摘要: 本文介紹了langchain.prompts中基礎的提示詞模板的高級用法,包括利用PipelinePrompt組合Prompt使用,多模態場景、動態占位符的使用等進行了介紹。 文章目錄 1. 背景2. PipelinePrompt2.1 組合兩個Prompt模板2.2 多模態模板 3. 聊天提示…

服務器代碼知識點補充

目錄 UdpServer: 觀察者模式: remove_if算法 管道補充: 文件的標準輸出 ,標準輸入,標準錯誤 UdpServer: 數據接收模塊關心Adduser 和Deleuser 兩個模塊 線程池關心Route模塊 將這三個方法注冊進服務器 ,但是有臨界區問題(線程池與數據接受模塊可能同時訪問用戶管理模塊,所…

R語言緩釋制劑QBD解決方案之二

藥物層優化研究 在藥物層工藝中水溶劑蒸發起到重要的作用。濕的環境會使丸子聚集,而干的環境影響藥物與MCC的粘合。輸入變量如氣流量,噴霧速率,霧化壓力,和產品溫度對MCC沉著和包衣溶劑蒸發的平衡有影響。進行了帶3個中心點的24-…

Html實現圖片上傳/裁剪/馬賽克/壓縮/旋轉/縮放

cropper下載 https://download.csdn.net/download/dongyan3595/90970115 前端代碼 <!doctype html> <html lang"en"> <head><base href"/aishop/"><meta name"viewport" content"widthdevice-width, initial…

springboot項目中整合高德地圖

一&#xff1a;高德開放平臺的使用 高德開放平臺 | 高德地圖API 注冊高德地圖賬號 認證填寫個人信息&#xff1a; 認證方式選擇“個人認證開發者”即可&#xff0c;然后完善信息 認證成功之后&#xff0c;再次進入控制臺&#xff0c;創建關于地圖的應用 創建Key&#xff08;y…

鴻蒙開發-視頻學習及實用中的一些小結

1.extend 和 styles extend是在styles基礎上進行了升級 使用的時候extend是全局的。 styles不加function 局部 加了就是全局。 2.builder 中要引用comp組件 需要在外層嵌套布局 3.ability之間的跳轉 want需要加&#xff1b; 4. as 類型斷言 &#xff01;跟在xxx! 表示…