uv使用教程

以下是使用 Python 包管理工具 uv 的常見命令指南。uv 是由 Astral(Ruff 的開發者)開發的高性能 Python 包安裝器和解析器,旨在替代 pip 和 pip-tools:

1. 安裝 uv

uv官網倉庫

# Linux/macOS
curl -Ls https://astral.sh/uv/install.sh | bash
source ~/.bashrc
uv# Windows (Powershell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# 通過 pip (臨時方法)
pip install uv

我直接運行pip install uv會報錯。

2. 核心命令

(1) 安裝包

# 安裝單個包
uv pip install pandas# 安裝多個包
uv pip install requests numpy# 從 requirements.txt 安裝
uv pip install -r requirements.txt

(2) 創建虛擬環境

# 創建默認 .venv 環境
uv venv# 指定環境名稱
uv venv myenv# 使用特定 Python 版本
uv venv --python=3.11

(3) 激活虛擬環境

# Linux/macOS
source .venv/bin/activate# Windows
.venv\Scripts\activate

3. 依賴管理

(1) 生成 requirements.txt

# 生成精確版本鎖定文件
uv pip freeze > requirements.txt# 生成帶哈希值的安全鎖定文件
uv pip compile --output-file=requirements.lock

(2) 從 .in 文件生成依賴

# 創建 requirements.in 文件
echo "requests" > requirements.in
echo "numpy" >> requirements.in# 生成解析后的 requirements.txt
uv pip compile requirements.in -o requirements.txt

(3) 同步依賴

# 根據 requirements.txt 精確同步環境
uv pip sync requirements.txt

4. 高級用法

(1) 快速安裝 + 環境創建

# 一步創建環境并安裝依賴
uv pip install -r requirements.txt --python=3.11

(2) 升級包

uv pip install --upgrade pandas

(3) 卸載包

uv pip uninstall package-name

(4) 列出已安裝包

uv pip list

5. 性能優化技巧

利用緩存加速:

# 查看緩存位置
uv cache dir# 清理緩存
uv cache clean

并行安裝(默認啟用):

uv pip install -r requirements.txt --parallel

跳過依賴解析(僅當確定依賴安全時):

uv pip install --no-deps package-name

6. 與 pip 命令對比

操作pip命令uv等效命令
安裝包pip install pandasuv pip install pandas
創建虛擬環境python -m venv .venvuv venv
凍結依賴pip freeze > reqs.txtuv pip freeze > reqs.txt
從 .in 生成依賴pip-compile requirements.inuv pip compile requirements.in
同步環境pip-sync requirements.txtuv pip sync requirements.txt

7. 配置文件

uv 支持 pyproject.toml 配置:

[tool.uv]
# 設置默認 Python 版本
python = "3.11"# 設置緩存路徑
cache-dir = "/path/to/cache"

常見問題解決

問題:安裝時出現兼容性錯誤
解決:生成精確依賴樹

uv pip compile requirements.in --upgrade

問題:無法找到 Python 解釋器
解決:指定 Python 路徑

uv venv --python=/usr/bin/python3.11

問題:Windows 權限錯誤
解決:以管理員身份運行 PowerShell

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

💡 提示:uv 完全兼容現有的 pip 工作流,但速度通常快 10-100 倍。對于新項目,建議使用 uv pip compile 替代 pip-compile。

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

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

相關文章

SpringBoot3.x入門到精通系列:1.1 簡介與新特性

SpringBoot 3.x 簡介與新特性 📖 什么是SpringBoot SpringBoot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化Spring應用的初始搭建以及開發過程。SpringBoot集成了大量常用的第三方庫配置,SpringBoot應用中這些第三方庫幾乎可以零配…

二、搭建springCloudAlibaba2021.1版本分布式微服務-Nacos搭建及服務注冊和配置中心

nacos介紹 1、Nacos簡介 Nacos 是阿里巴巴推出來的一個新開源項目,這是一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。 Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、…

淺談物聯網嵌入式程序開發源碼技術方案

在物聯網蓬勃發展的時代,嵌入式程序作為連接硬件與軟件的橋梁,發揮著至關重要的作用。以“邊緣智能 云協同”為核心,為工業、醫療、家居、農業、智慧城市五大場景提供穩定、低功耗、可擴展的物聯網終端與平臺一體化解決方案。以下董技叔軟件…

【筆記】重學單片機(51)

為學習嵌入式做準備,重新拿起51單片機學習。此貼為學習筆記,僅記錄易忘點,實用理論基礎,并不是0基礎。 資料參考:清翔零基礎教你學51單片機 51單片機學習筆記1. C語言中的易忘點1.1 數據類型1.2 位運算符1.3 常用控制語…

C++現代Redis客戶端庫redis-plus-plus詳解

🚀 C現代Redis客戶端庫redis-plus-plus詳解:告別繁瑣的hiredis,擁抱現代C的Redis操作 📅 更新時間:2025年07月28日 🏷? 標簽:C | Redis | redis-plus-plus | 現代C | 后端開發 文章目錄&#x…

Redis存儲原理與數據模型(上)

一、Redis數據模型 1.1、查看Redis數據定義: typedef struct redisDb {kvstore *keys; /* The keyspace for this DB 指向鍵值存儲的指針,用于快速訪問和修改數據庫中的鍵值對*/kvstore *expires; /* Timeout of keys with a t…

視頻生成模型蒸餾的方法

1.fastvideo https://github.com/hao-ai-lab/FastVideohttps://github.com/hao-ai-lab/FastVideo Distillation support Recipes for video DiT, based on PCM. Support distilling/finetuning/inferencing state-of-the-art open video DiTs: 1. Mochi 2. Hunyuan. 2.l

【mysql】—— mysql中的timestamp 和 datetime(6) 有什么區別,為什么有的地方不建議使用timestamp

在 MySQL 中,TIMESTAMP 和 DATETIME(6) 都是用于存儲日期和時間的數據類型,但它們在存儲范圍、時區處理、存儲方式等方面有顯著區別。 1. 核心區別對比 特性 TIMESTAMP DATETIME(6) 存儲范圍 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC(受限于 32 位時間戳) 1000…

前端下載文件相關

1、下載 ‘Content-Type‘: ‘application/octet-stream‘ 的文件 當后端返回的響應頭中 Content-Type 為 application/octet-stream 時,表示這是一個二進制流文件,瀏覽器無法直接展示,需要前端處理后下載到本地。 通過請求獲取二進制數據…

代碼隨想錄算法訓練營第五十六天|動態規劃part6

108.冗余連接 題目鏈接&#xff1a;108. 冗余的邊 文章講解&#xff1a;代碼隨想錄 思路&#xff1a; 題意隱含 只有一個冗余邊 #include <iostream> #include <vector> using namespace std; int n1001; vector<int>father(n,0);void init(){for(int i0;…

智能體通信協議

智能體通信協議A2AACPANPAgoraagents.jsonLMOSAITPA2A A2A官方文檔&#xff1a;https://www.a2aprotocol.net/docs/introduction 開源代碼和詳細規范&#xff1a;https://github.com/google/A2A ACP ACP官方文檔&#xff1a;https://acp.agentunion.cn ANP ANP官方文檔&am…

QT交叉編譯環境配置

QT交叉編譯環境配置1 配置交叉編譯工具鏈1.1 解壓 放到/opt中1.2 使用環境變量1.2.1 設置成永久的環境變量1.2.2 臨時環境變量1.3 安裝編譯需要的軟件2 編譯tslib庫&#xff08;如果不需要觸摸屏直接跳過&#xff09;3. 編譯qt3.1 編譯源碼3.2 設置QCreator4 說明4.1 關于編譯器…

【Android】【Java】一款簡單的文本/圖像加解密APP

寫在前面 之前寫過一篇博客,名為《【Java編程】【計算機視覺】一種簡單的圖片加/解密算法》,介紹了用Java在電腦上對圖片進行簡單的加密和解密操作,見鏈接: 文章鏈接 但是,文中所描述的算法在實際操作當中,存在嚴重的噪音(圖像失真)的問題(且原因不明),本次經筆者研…

技術筆記 | Ubuntu 系統 OTA 升級全流程詳解

前言&#xff1a;在嵌入式系統設備管理中&#xff0c;OTA&#xff08;Over-The-Air&#xff09;升級是實現設備遠程維護、功能迭代的核心能力。本文基于 Ubuntu 系統環境&#xff0c;詳細拆解 updateEngine 工具的 OTA 升級方案&#xff0c;從配置開啟、命令使用到實戰案例與問…

重復請求問題

重復請求問題 使用Promise和AbortController來實現思路是&#xff1a;通過在會話緩存中存儲和比較請求信息&#xff0c;來防止用戶在短時間內重復提交相同的請求。 具體思路如下&#xff1a; 存儲請求信息&#xff1a;每次請求時&#xff0c;將請求的相關信息&#xff08;如URL…

CentOS7 Docker安裝RocketMQ完整教程

目錄 前言 環境準備 系統要求 檢查Docker狀態 創建網絡和目錄 創建Docker網絡 創建數據目錄 安裝NameServer 啟動NameServer容器 參數說明 驗證NameServer啟動 安裝Broker 創建Broker配置文件 啟動Broker容器 參數說明 驗證Broker啟動 安裝管理控制臺 啟動控制…

main函數,常量指針與指針常量,野指針等,void與void的區別

指針&#xff08;續&#xff09; main函數原型 定義 main函數有多種定義格式&#xff0c;main函數也是函數&#xff0c;函數相關的結論對main函數也有效。 main函數的完整寫法&#xff1a;int main(int argc, char *argv[]){..}int main(int argc, char **argv){..}擴展寫法&am…

Mac m系列芯片安裝node14版本使用nvm + Rosetta 2

由于蘋果 M 系列芯片&#xff08;包括 M4&#xff09;使用的是 ARM 架構&#xff0c;而 Node.js 14 是在英特爾 x86 架構時代發布的&#xff0c;因此在 M 系列 Mac 上安裝 Node.js 14 可能會遇到兼容性問題 解決方法&#xff1a;使用 nvm Rosetta 2右鍵點擊「終端」→「顯示簡…

前端基礎之《Vue(26)—Vue3兩種語法范式》

一、選項式1、HTML寫法<!-- 跟 Vue 說 Hello World&#xff01; --><script type"module"> import { createApp } from vuecreateApp({data() {return {message: Hello World!}} }).mount(#app) </script><div id"app"><h1>…

題目:BUUCTF之rip(pwn)

網址 BUUCTF在線評測https://buuoj.cn/challenges#rip打開&#xff0c;如圖所示 提示&#xff1a;先別啟動靶機&#xff0c;靶機可以最后在啟動&#xff0c;先分析下載的附件pwn1。 點擊下載&#xff0c;下載完成之后&#xff0c;該文件后綴類型改為exe&#xff08;就是將pwn…