UV 简易使用指南
UV 简介
今天介绍的uv
是 Astral
公司推出的一款基于 Rust
编写的 Python
包管理工具,旨在成为 “Python 的 Cargo”。
它提供了快速、可靠且易用的包管理体验,在性能、兼容性和功能上都有出色表现,为Python
项目的开发和管理带来了新的选择。
为什么用uv
与其他Python中的包管理工具相比,uv更像是一个全能选手,它的优势在于:
- 速度快:得益于Rust,uv工具的速度让人惊艳,比如安装依赖,速度比其他工具快很多
- 功能全面:uv 是“一站式服务”的工具,从安装 Python、管理虚拟环境,到安装和管理包,再到管理项目依赖,它统统都能处理得很好
- 前景光明:背后有风投公司Astral支持,且采用了MIT许可,即使未来出现问题,社区也有应对的办法
- 使用uv,也可以像NodeJS或者Rust项目那样方便的管理依赖
如何安装
安装uv
非常简单,可以使用官方提供的安装脚本,也可以通过pip
来安装
1 |
|
安装之后,可以通过uv help
命令检查是否安装成功
1 | An extremely fast Python package manager. |
如何使用
用一个简单的new_app
项目演示如何管理python
项目
使用uv之前,创建一个Python项目对我来说就是创建一个文件夹而已。
使用uv之后,终于有了一些项目的感觉,对于uv,我使用时间也不长,疏漏或错误的地方欢迎指正!
接下来,从创建一个项目开始,演示我使用uv时常用的一些功能。
首先,介绍uv工具主要使用的两个文件:
- pyproject.toml:定义项目的主要依赖,包括项目名称、版本、描述、支持的 Python 版本等信息
- uv.lock:记录项目的所有依赖,包括依赖的依赖,且跨平台,确保在不同环境下安装的一致性。这个文件由 uv 自动管理,不要手动编辑
3.1 创建项目
接下来,创建一个项目,使用uv init <project dir>
命令。
通过init
创建项目之后,uv
工具贴心地帮助我们生成了一些默认文件。
其中 hello.py
只是一段演示用的代码,
随后我们可以根据实际的项目需要删除这个代码文件,换成自己的实际代码。
1 | bot_name = 'Bob' |
注意,uv init
创建项目之后,会自动将项目使用Git来管理。
3.2 同步项目依赖:
uv sync
1
2
3
4
5
Using CPython 3.11.4 interpreter at: C:\Python311\python.exe
Creating virtual environment at: .venv
Resolved 1 package in 22ms
Audited in 0.00ms
3.3 运行项目:
uv run <script file>
3.4 添加依赖:
uv add <package>
3.5 删除依赖:
uv remove <package>
3.6 区分开发环境和生产环境:
添加开发依赖:
uv add --group dev <package>
添加生产依赖:
uv add --group production <package>
其他
UV
设置环境变量解决Failed to hardlink files
警告
1 |
|
解决方案,设置UV_CACHE_DIR
环境变量1
UV_CACHE_DIR = D:/AppData/uv/cache