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

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

相关推荐
Highcharts.js4 小时前
企业级可视化生态系统|关于Highcharts集成的前端框架、后端编程语言与生态
开发语言·javascript·python·前端框架·编辑器·编程语言·highcharts
Wang ruoxi4 小时前
Pygame小游戏——扫雷
开发语言·python·pygame
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89181 天前
Python主流框架全解析
开发语言·python
sg_knight1 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财1 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz1 天前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据1 天前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium