一个用 Rust 编写的极速 Python 包和项目管理工具。
更快、更便捷。
安装
macOS和linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
功能特性
Python版本管理
uv python install/uninstall [--reinstall]: 安装/卸载 Python 版本
python底层是C,pypy底层是Python + RPython 执行方式是JIT(即时编译),JIT“把常运行的代码编译成机器码”,但对某些C扩展兼容没CPython顺uv python list: 查看可用 Python 版本uv python pin: 将当前项目固定使用特定 Python 版本
脚本运行
执行独立的python脚本
uv run: 运行脚本uv add --script: 为脚本添加依赖
脚本需要依赖包uv remove --script: 从脚本移除依赖
项目管理
创建和开发带有 pyproject.toml 的 Python 项目。
uv init: 创建新 Python 项目
创建项目或者在当前目录下初始化uv add: 为项目添加依赖uv remove: 从项目移除依赖uv sync: 同步项目依赖到环境uv lock: 为项目依赖创建锁文件
uv.lock是一个跨平台的锁定文件,其中包含有关项目依赖项的确切信息。与用于指定项目大致要求的pyproject.toml不同,锁定文件包含安装在项目环境中的确切解析版本。此文件应提交到版本控制系统,以便在不同机器上实现一致且可重现的安装。
uv.lock是一个人类可读的 TOML 文件,但由 uv 管理,不应手动编辑。uv run: 在项目环境中运行命令uv tree: 查看项目依赖树uv build: 构建项目为分发包uv publish: 发布项目到包索引
pip 接口
手动管理环境和包 —— 适用于遗留工作流或高级命令无法提供足够控制的情况。
创建虚拟环境(替代 venv 和 virtualenv):
uv venv:创建新的虚拟环境。
实用工具
管理和检查 uv 的状态,例如缓存、存储目录或执行自我更新:
uv cache clean: 清除缓存条目uv cache prune: 清除过期的缓存条目uv cache dir: 显示 uv 缓存目录路径uv tool dir: 显示 uv 工具目录路径uv python dir: 显示 uv 安装的 Python 版本路径uv self update: 将 uv 更新至最新版本