介绍一个更快更全能的 Python 工具:uv
编辑
2025-06-06
Python
00

目录

为什么需要 uv?
uv 的特点
安装方法(以 Linux/macOS 为例)
简单使用示例
初始化一个项目
添加依赖
创建虚拟环境并激活
运行脚本
安装工具
锁定依赖
总结

一个极其快速的 Python 包和项目管理工具,用 Rust 编写。

为什么需要 uv?

我们在日常开发中,经常要用到这些工具:

  • pip:安装依赖
  • pipx:安装命令行工具
  • poetryrye:管理项目和虚拟环境
  • pyenv:切换 Python 版本
  • virtualenv:创建虚拟环境
  • pip-tools:锁定依赖版本
  • twine:发布包

这些工具虽然好用,但各自为政,使用起来比较分散。而 uv 的目标就是把它们整合成一个工具,统一操作方式,提升效率。

uv 的特点

  • 速度快:比 pip 快 10 到 100 倍。
  • 🐍 支持 Python 版本管理:可以安装多个 Python 版本,并快速切换。
  • 🔒 有锁文件机制:提供统一的 lockfile 来保证依赖一致性。
  • 🧰 可运行脚本和工具:像 pipx 那样安装和运行 Python 工具。
  • 📁 项目管理能力:初始化项目、添加依赖、同步环境等。
  • 💾 高效缓存:全局缓存减少重复下载。
  • 🌐 跨平台支持:Mac、Linux、Windows 都支持。
  • 📦 兼容 pip 接口:可以用 uv pip install 替代 pip,无缝迁移。

安装方法(以 Linux/macOS 为例)

官方推荐使用下面的命令安装:

bash
展开代码
curl -LsSf https://astral.sh/uv/install.sh | sh

也可以通过 pip 安装:

bash
展开代码
pip install uv

安装完成后,输入 uv --version 查看是否成功。

简单使用示例

初始化一个项目

构建可发布的 Python 包(上传至 PyPI):

bash
展开代码
uv init myproject cd myproject

这会创建一个基础项目结构,类似 poetry init

添加依赖

bash
展开代码
uv add requests

这个命令会自动更新 pyproject.toml 文件,并安装依赖。

创建虚拟环境并激活

bash
展开代码
uv venv source .venv/bin/activate

你也可以指定 Python 版本:

bash
展开代码
uv venv --python 3.11

运行脚本

uv 支持运行带依赖的脚本,比如:

bash
展开代码
uv run python script.py

如果脚本里有注释声明依赖,uv 会自动安装。

安装工具

比如安装 ruff:

bash
展开代码
uv tool install ruff ruff --version

或者直接运行:

bash
展开代码
uvx pycowsay 'Hello World'

锁定依赖

bash
展开代码
uv lock uv sync

这两个命令用于生成 lock 文件并同步安装依赖。

总结

uv 是一个很值得尝试的新工具,特别是对于那些已经习惯了多个 Python 工具配合使用的开发者来说,它能带来更高效的体验。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!