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

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

相关推荐
Nuanyt4 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌4 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_967987374 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
专注仿真6 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放7 小时前
Python基础语法练习题(75)
开发语言·python·学习
黑十8 小时前
PyTorch 报 “no CUDA GPUs are available“ 怎么办?3 步排查
服务器·网络·人工智能·pytorch·python
threelab8 小时前
开源图片去水印代码
python
taller_20009 小时前
【012】数据类型入门: Excel 数据到 Python 值的转换
python·excel·pie·py
淡漠的蓝精灵10 小时前
web.py:一个简单到极致的 Python Web 框架
开发语言·前端·python·其他
起个名字费劲死了10 小时前
Halcon学习一:骰子识别
前端·python·学习