国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請入駐

Python 新一代包管理神器uv上手指南 (附速查表)

0
分享至

大家好,我是 Ai 學(xué)習(xí)的老章

大家好,我是 Ai 學(xué)習(xí)的老章

好久沒看 Python,之前我最常用的包管理工具是 pip

但是貌似 uv 近些年也非常流行,很多項(xiàng)目默認(rèn)使用 uv 管理環(huán)境,今天就借助 AI 學(xué)習(xí)一下

什么是uv

uv是一個(gè)用 Rust 編寫的、速度極快的 Python 包安裝器和解析器。它由ruff(一個(gè)同樣以速度著稱的 Python Linter)的開發(fā)團(tuán)隊(duì) Astral 公司推出。

你可以將uv理解為一個(gè)高性能的、旨在取代pip、pip-toolsvenvvirtualenv等一系列工具的“瑞士軍刀”。它的目標(biāo)是為 Python 開發(fā)者提供一個(gè)統(tǒng)一、快速、易用的包管理解決方案

uv的主要優(yōu)勢可以總結(jié)為以下幾點(diǎn):

1. 極致的速度

這是uv最引人注目的特點(diǎn)。在大多數(shù)情況下,uv的安裝和解析速度比pip10-100 倍。這種速度提升主要源于:

  • Rust 語言編寫:uv的底層由高性能的 Rust 語言構(gòu)建,而非 Python,這使其在執(zhí)行效率上具有天然優(yōu)勢。

  • 高度并行化:uv在進(jìn)行網(wǎng)絡(luò) I/O 操作(如下載包)時(shí)會(huì)盡可能地并行處理,而pip在這方面則更多是順序執(zhí)行。

  • 先進(jìn)的全局緩存:uv維護(hù)一個(gè)全局的包緩存。一旦某個(gè)版本的包被下載過,任何項(xiàng)目再次需要它時(shí),uv都能直接從本地緩存中獲取,避免了重復(fù)下載。這個(gè)緩存機(jī)制比pip的更高效,能跨項(xiàng)目共享。

  • 快速的依賴解析:uv內(nèi)置了一個(gè)非??焖俚囊蕾囮P(guān)系解析器,能夠迅速解決復(fù)雜項(xiàng)目中的版本沖突問題。

2. 功能集成(All-in-One)

一個(gè)典型的 Python 項(xiàng)目中,你可能需要多個(gè)工具來管理環(huán)境和依賴,uv將所有這些功能整合到了一個(gè)命令行工具中:

  • 創(chuàng)建虛擬環(huán)境:uv venv(等同于python -m venv .venv)

  • 安裝包:uv pip install (用法與pip install兼容)

  • 編譯依賴文件:uv pip compile pyproject.toml -o requirements.txt(等同于pip-compile)

  • 同步環(huán)境:uv pip sync requirements.txt(確保虛擬環(huán)境與依賴文件嚴(yán)格一致)

這種“一體化”的設(shè)計(jì)大大簡化了開發(fā)者的工作流程。

3. “熱盤”式的安裝

由于其先進(jìn)的緩存策略,uv在安裝依賴時(shí),即使是對于一個(gè)全新的項(xiàng)目,只要其依賴的包在全局緩存中已存在,安裝過程也會(huì)快如閃電,因?yàn)樗耆司W(wǎng)絡(luò)下載的耗時(shí)。這對于頻繁創(chuàng)建和銷毀環(huán)境的 CI/CD 流程來說,是一個(gè)巨大的福音。

4. 易于安裝和使用

uv本身是一個(gè)獨(dú)立的二進(jìn)制文件,安裝非常簡單,與你的 Python 版本或項(xiàng)目環(huán)境解耦。你可以通過pip,brew,curl等多種方式快速安裝,并在任何地方使用它。

為了幫助你快速上手uv,https://mathspp.com/blog/uv-cheatsheet 整理了一份詳細(xì)的速查表(Cheatsheet),涵蓋了從項(xiàng)目初始化到依賴管理的各種常用命令。無論你是新手還是希望提高效率的老手,這張表都能為你提供極大的便利。

uv速查表 創(chuàng)建項(xiàng)目

uv init 在當(dāng)前目錄初始化項(xiàng)目
uv init myproj 在目錄 myproj 中初始化項(xiàng)目 myproj
uv init --app --package ... 初始化可打包應(yīng)用(如 CLI、Web 應(yīng)用等)
uv init --lib --package ... 初始化一個(gè)可打包的庫(可供導(dǎo)入的代碼)
uv init --python 3.X ...1 為項(xiàng)目使用 Python 3.X

管理項(xiàng)目依賴

uv add requests 添加 requests 作為依賴項(xiàng)
uv add A B C 添加 A、B 和 C 作為依賴項(xiàng)
uv add -r requirements.txt 從文件 requirements.txt 中添加依賴項(xiàng)
uv add --dev pytest 將 pytest 添加為開發(fā)依賴項(xiàng)
uv run pytest 運(yùn)行項(xiàng)目中安裝的 pytest 可執(zhí)行文件
uv remove requests 移除 requests 依賴項(xiàng)
uv remove A B C 移除 A、B、C 及其傳遞依賴項(xiàng)
uv tree 查看項(xiàng)目依賴關(guān)系樹
uv lock --upgrade 升級(jí)依賴版本

項(xiàng)目生命周期管理

uv build 構(gòu)建可打包項(xiàng)目
uv publish 將可打包項(xiàng)目發(fā)布到 PyPI
uv version 檢查項(xiàng)目版本
uv version --bump major 升級(jí)主版本號(hào)(例如:0.3.2 -> 1.0.0)
uv version --bump minor --bump beta 升級(jí)次版本號(hào)至測試版(例如:1.0.0 -> 1.1.0b1 或 1.1.0b1 -> 1.1.0b2)
uv version --bump rc 升級(jí)版本至候選發(fā)布版(例如:1.1.0b1 -> 1.1.0rc1 或 1.1.0rc1 -> 1.1.0rc2)
uv version --bump stable 轉(zhuǎn)為穩(wěn)定版本(例如:1.1.0rc1 -> 1.1.0)

管理工具 ??

uv tool run pytest 在隔離環(huán)境中運(yùn)行 pytest
uv tool run textual-demo --from textual 從 textual 包中運(yùn)行命令 textual-demo
uvx ... uv tool run ... 的別名
uv tool install ruff 在隔離環(huán)境中安裝 ruff 但使其全局可用
uv tool install --with dep ... 安裝指定工具及其額外依賴項(xiàng)(例如安裝工具及其插件)
uv tool list 列出所有已安裝工具
uv tool upgrade ruff 升級(jí) ruff 工具
uv tool upgrade --all 升級(jí)所有工具
uv tool uninstall ruff 卸載 ruff
uv tool install -e .2 以可編輯模式安裝當(dāng)前可打包項(xiàng)目

使用腳本

uv init --script myscript.py 初始化腳本 myscript.py
uv init --script myscript.py --python 3.X 初始化腳本 myscript.py 并將其固定為 3.X 版本
uv add click --script myscript.py 將依賴項(xiàng) click 添加到腳本中
uv remove click --script myscript.py 從腳本中移除依賴項(xiàng) click
uv run myscript.py 運(yùn)行腳本 myscript.py
uv run --python 3.X myscript.py 使用指定的 Python 版本運(yùn)行腳本
uv run --with click myscript.py 運(yùn)行腳本時(shí)附帶 click 依賴項(xiàng) 使腳本可執(zhí)行并在腳本首行添加 uv shebang:#!/usr/bin/env -S uv run。這樣您可以直接運(yùn)行 ./myscript.py,而無需輸入 uv run myscript.py。

管理 Python 版本

uv python list 列出已安裝及可安裝的 Python 版本
uv python install 3.X 安裝 Python 3.X
uv python uninstall 3.X 卸載 Python 3.X
uv run python 運(yùn)行默認(rèn) Python 版本
uv run --python 3.X python 運(yùn)行 Python 3.X
uv python upgrade 升級(jí) Python 版本
uv python pin 3.X 固定使用特定 Python 版本

老派開發(fā)者不愿學(xué)習(xí)新技巧

uv venv path/to/.venv 在 path/to/.venv 路徑創(chuàng)建虛擬環(huán)境
uv pip pip 的功能接口搭配 uv 的速度 ??

雜項(xiàng)命令 ?

uv format 使用 Ruff 格式化代碼

元命令

uv help cmd 查看命令 cmd 的幫助信息
uv self update 更新 uv 版本
uv self version 檢查 uv 版本

覺得這張uv速查表還不夠?別擔(dān)心,我個(gè)人整理了一份史上最全的速查表合集,總共371張,內(nèi)容涵蓋了 AI、ChatGPT、Python、R、數(shù)據(jù)科學(xué)、深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、SQL、Pandas、Scikit-learn 等幾乎所有你需要的領(lǐng)域。

無論你是數(shù)據(jù)科學(xué)家、開發(fā)者,還是正在學(xué)習(xí) AI 的學(xué)生,這份資源都將是你的“武功秘籍”。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
家長連打14個(gè)電話怒斥:那么大個(gè)醫(yī)院,連兒科急診都沒有!

家長連打14個(gè)電話怒斥:那么大個(gè)醫(yī)院,連兒科急診都沒有!

李砍柴
2025-12-23 18:12:45
防守崩盤!湖人108-132太陽,本場誰是罪魁禍?zhǔn)?,?shù)據(jù)不會(huì)說謊

防守崩盤!湖人108-132太陽,本場誰是罪魁禍?zhǔn)?,?shù)據(jù)不會(huì)說謊

籃球看比賽
2025-12-24 12:55:18
官方確認(rèn):俞敏洪敲定東方甄選接班人

官方確認(rèn):俞敏洪敲定東方甄選接班人

第一財(cái)經(jīng)資訊
2025-12-24 17:39:20
美國:你的船,我想扣就扣!中國:公海之上,誰給你的膽子?

美國:你的船,我想扣就扣!中國:公海之上,誰給你的膽子?

扶蘇聊歷史
2025-12-24 10:21:30
還能破紀(jì)錄嗎?雷霆目前26勝4負(fù),73勝勇士同期29勝1負(fù)

還能破紀(jì)錄嗎?雷霆目前26勝4負(fù),73勝勇士同期29勝1負(fù)

懂球帝
2025-12-24 12:26:29
北京連下六道指令,陜西硬抗整整四年,最高指示:讓749局來

北京連下六道指令,陜西硬抗整整四年,最高指示:讓749局來

小哥很OK
2025-12-12 14:33:01
女子花1.8萬挑戰(zhàn)“獨(dú)處100小時(shí)贏60萬” 中途被無故判出局 法院判全額退還報(bào)名費(fèi)

女子花1.8萬挑戰(zhàn)“獨(dú)處100小時(shí)贏60萬” 中途被無故判出局 法院判全額退還報(bào)名費(fèi)

閃電新聞
2025-12-23 17:15:36
午后突發(fā)!300131,直線20%漲停!這一板塊,批量封板!

午后突發(fā)!300131,直線20%漲停!這一板塊,批量封板!

證券時(shí)報(bào)e公司
2025-12-24 16:25:58
KD22+5末節(jié)卻遭DNP!休媒開始質(zhì)疑斯通交易選擇 美球迷狂噴烏度卡

KD22+5末節(jié)卻遭DNP!休媒開始質(zhì)疑斯通交易選擇 美球迷狂噴烏度卡

顏小白的籃球夢
2025-12-24 13:49:59
堅(jiān)守陣地130天,兩名烏軍終于撤了下來,還帶回個(gè)并肩作戰(zhàn)的俄軍

堅(jiān)守陣地130天,兩名烏軍終于撤了下來,還帶回個(gè)并肩作戰(zhàn)的俄軍

鷹眼Defence
2025-12-24 16:23:37
涉案200億風(fēng)暴來襲!70后身家145億浙商大佬被控制,浙金中心18人刑拘

涉案200億風(fēng)暴來襲!70后身家145億浙商大佬被控制,浙金中心18人刑拘

經(jīng)理人雜志
2025-12-24 11:33:25
離譜!楊書記為何敢直接拿走博物館的瓷花瓶?

離譜!楊書記為何敢直接拿走博物館的瓷花瓶?

仕道
2025-12-22 09:20:15
年終獎(jiǎng)同事都拿26萬,我媽身為銷冠竟然只有6萬,她沒跟領(lǐng)導(dǎo)急

年終獎(jiǎng)同事都拿26萬,我媽身為銷冠竟然只有6萬,她沒跟領(lǐng)導(dǎo)急

小秋情感說
2025-12-24 14:43:03
晚到卻是“全球一流”!搭載800V固態(tài)電池,純電續(xù)航可達(dá)1500km!

晚到卻是“全球一流”!搭載800V固態(tài)電池,純電續(xù)航可達(dá)1500km!

隔壁說車?yán)贤?/span>
2025-12-24 05:46:48
舉報(bào)人南博前員工郭禮典已接受調(diào)查組問詢,《亞洲周刊》發(fā)文證實(shí)

舉報(bào)人南博前員工郭禮典已接受調(diào)查組問詢,《亞洲周刊》發(fā)文證實(shí)

秋楓未語
2025-12-24 13:38:59
泰國總理:不僅要打掉黑窩點(diǎn),更要徹查背后金主到底是誰!

泰國總理:不僅要打掉黑窩點(diǎn),更要徹查背后金主到底是誰!

霹靂炮
2025-12-23 22:52:35
爆:原中國移動(dòng)集團(tuán)董事長尚冰!

爆:原中國移動(dòng)集團(tuán)董事長尚冰!

通信頭條
2025-12-23 21:18:27
趕緊拔,浙江女子崩潰:我的255萬元啊...

趕緊拔,浙江女子崩潰:我的255萬元啊...

浙江之聲
2025-12-24 08:21:22
南博很可能是背鍋的?前院長曾昭燏日記未提1961年鑒定

南博很可能是背鍋的?前院長曾昭燏日記未提1961年鑒定

數(shù)字財(cái)經(jīng)智庫
2025-12-22 12:23:22
關(guān)于“哪位少爺吸了”“吸毒記錄封存” 法工委回應(yīng)了

關(guān)于“哪位少爺吸了”“吸毒記錄封存” 法工委回應(yīng)了

看看新聞Knews
2025-12-24 16:05:02
2025-12-24 19:56:49
機(jī)器學(xué)習(xí)與Python社區(qū) incentive-icons
機(jī)器學(xué)習(xí)與Python社區(qū)
機(jī)器學(xué)習(xí)算法與Python
3233文章數(shù) 11081關(guān)注度
往期回顧 全部

科技要聞

智譜和MiniMax拿出了“血淋淋”的賬本

頭條要聞

果農(nóng)再次開啟"賽博助農(nóng)":在"魔獸世界"賣3.5萬斤橙子

頭條要聞

果農(nóng)再次開啟"賽博助農(nóng)":在"魔獸世界"賣3.5萬斤橙子

體育要聞

26歲廣西球王,在質(zhì)疑聲中成為本土得分王

娛樂要聞

懷孕增重30斤!闞清子驚傳誕一女夭折?

財(cái)經(jīng)要聞

重磅!北京市優(yōu)化調(diào)整住房限購政策

汽車要聞

“運(yùn)動(dòng)版庫里南”一月份亮相???或命名極氪9S

態(tài)度原創(chuàng)

教育
藝術(shù)
親子
房產(chǎn)
數(shù)碼

教育要聞

成都取消高一、高二期末統(tǒng)考,期末不讓考了?家長炸鍋了

藝術(shù)要聞

2026第一福!孫曉云親筆“福”字出爐

親子要聞

過度精細(xì)喂養(yǎng)有多可怕?網(wǎng)友:該放手時(shí)就放手,適當(dāng)粗糙沒毛病

房產(chǎn)要聞

硬核!央企海口一線江景頂流紅盤,上演超預(yù)期交付!

數(shù)碼要聞

2025電視換新不踩坑:2000元檔選華為Vision智慧屏5 SE

無障礙瀏覽 進(jìn)入關(guān)懷版