Python包管理工具之UV

官网

什么是 uv?

uv 是由 Astral 团队(也是 Ruff 的作者)开发的一款 超快的 Python 包安装器和解析器 。它用 Rust 编写,目标是 替代 pip、pip-tools、virtualenv、poetry 等工具的部分功能 ,同时速度提升 10~100 倍


配置UV

安装UV

方法 1:使用官方安装脚本(推荐)

Linux / macOS

bash 复制代码
# 指定下载路径
export UV_INSTALL_DIR="$HOME/.local/bin-custom"
# 下载
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell)

bash 复制代码
# 指定下载路径
$env:UV_INSTALL_DIR = "D:\Environment\uv"
# 下载
irm https://astral.sh/uv/install.ps1 | iex

Windows (CMD)

bash 复制代码
# 指定下载路径
set UV_INSTALL_DIR=D:\Environment\uv
# 下载
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

方法 2:通过 pip 安装(不推荐,但可行)

bash 复制代码
pip install uv

⚠️ 注意:通过 pip 安装的 uv 可能不是最新版,且启动稍慢。建议用方法 1。

验证安装

bash 复制代码
uv --version

缓存目录

uv 默认使用系统缓存(如 ~/.cache/uv),通常无需修改。

卸载UV

Linux/macOS

shell 复制代码
rm ~/.local/bin/uv ~/.local/bin/uvx

Windows(Power Shell)

powershell 复制代码
rm $HOME\.local\bin\uv.exe
rm $HOME\.local\bin\uvx.exe
rm $HOME\.local\bin\uvw.exe

项目实战

通过UV创建新项目

通过 UV 创建虚拟环境

方式一:命令行方式

bash 复制代码
mkdir test-uv-project
cd test-uv-project
uv venv

方式二:借助IDE工具------PyCharm

历史项目通过UV下载依赖包

方式一:命令行方式

bash 复制代码
# 1. 创建虚拟环境
uv venv
# 激活环境
.venv\Scripts\activate
# 2. 同步依赖
uv sync

uv venv <虚拟环境名称>:创建虚拟环境可以指定虚拟环境名称,如果不指定则默认建在 .venv 目录下,建议不指定

方式二:借助IDE工具------Pycharm



添加依赖

方式一:借助IDE工具------PyCharm

pyproject.toml 添加依赖 ,会提示安装软件包,直接安装即可:

会将依赖版本添加到uv.lock文件中,并下载软件包

方式二:命令行方式

依赖是在 pyproject.toml 添加依赖,然后执行:

bash 复制代码
# 将依赖版本锁定到uv.lock文件
uv lock
# 同步依赖
uv sync

自此,本文分享到此结束!!!

相关推荐
心易行者15 小时前
从零搭建完整Web应用:7步走完全流程,配合web应用托管零门槛上线
人工智能·python·ai编程
小柯南敲键盘15 小时前
跨境电商图片翻译工具,批量处理视频字幕与抠图
人工智能·python·音视频
2601_9669496516 小时前
五档盘口数据对量化交易有什么价值?从信号判断到策略风险的完整分析
开发语言·人工智能·python·数据分析·量化·股票数据·quantdash
cxhello16 小时前
消费者活着、心跳正常、日志干净,但它七天没拉过一条消息
python·kafka
砚底藏山河16 小时前
【量化纯GET实战 #11】移动均线 MA:5 日 20 日 60 日怎么算怎么用
java·python·金融·maven
小吴学不废Java16 小时前
Python 基础语法
开发语言·python
weixin_4334176716 小时前
阿里视频大模型wan2.7‑t2v,可以生成视频
人工智能·python·音视频
sukioe16 小时前
一张图、两把锁:AI 物流履约平台的确定性边界设计
人工智能·python·ai·langchain
2601_9622035116 小时前
【SpringBoot3】面向切面 AspectJ AOP 使用详解
开发语言·前端·python
程序员大雄学编程16 小时前
微积分43. 无穷积分入门:从概念到Python实战可视化
开发语言·python·学习·微积分