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

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

相关推荐
装不满的克莱因瓶12 分钟前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz12 分钟前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
biter down6 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
肖永威7 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks7 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
不知名的老吴8 小时前
线程的生命周期之线程“插队“
java·开发语言·python
xsc6996759 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
无风听海10 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者11 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
马士兵教育11 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习