大家好,我是何三,80后老猿,独立开发者

今天给大家介绍一款效率超高的python依赖管理工具--uv。 我尽量用大白话讲解,手把手带小白用代码感受这个新一代Python管理神器的魅力!

一、为什么选择uv?

传统Python开发者可能都用过pip+conda组合,但这两个工具各有痛点:

  • pip:安装依赖慢、无法自动管理虚拟环境、没有版本锁文件
  • conda:包数量有限、环境切换不够灵活

而uv用Rust编写,实测安装速度比pip快5-10倍,还能一站式解决Python版本、虚拟环境和依赖管理问题。举个直观例子:

用pip安装pandas(约20秒)
$ pip install pandas

用uv安装pandas(约3秒)
$ uv pip install pandas

二、安装uv(两种方式任选)

方法1:独立安装(推荐,避免Python环境污染)
执行以下命令自动下载安装:

curl -Ls https://astral.sh/uv/install.sh | sh

安装后执行 uv --version 验证

方法2:pip安装(适合已有Python环境)

pip install uv

三、项目初始化实操

创建一个名为 myapp 的项目:

uv init myapp

生成的文件结构如下:

myapp/
├── .venv/          # 自动创建的虚拟环境
├── pyproject.toml  # 项目配置文件
├── uv.lock         # 精确锁定的依赖版本
└── main.py        # 代码

重点看看 pyproject.toml 的内容:

[project]
name = "myapp"
version = "0.1.0"
description = ""
dependencies = []
requires-python = ">=3.8"

[tool.uv]
python = "3.10"  # 指定Python版本

四、依赖管理核心操作

添加生产依赖(类似pip install):

uv add requests  # 安装最新版
uv add "pandas>=2.0"  # 指定最低版本

添加开发依赖:

uv add --dev pytest

移除依赖:

uv remove requests

安装后查看 pyproject.toml,会自动更新:

[project]
dependencies = [
    "pandas>=2.0",
    "requests"
]

[tool.uv.dev-dependencies]
pytest = "*"

五、运行项目的正确姿势

传统方式需要手动激活虚拟环境,uv可以直接运行:

uv run hello.py

更炫酷的是执行命令行工具:

uv tool install black  # 安装代码格式化工具
uv run black .         # 格式化当前目录

六、与pip的对比案例

场景1:批量安装requirements.txt

pip方式(约1分钟)
pip install -r requirements.txt

uv方式(约10秒)
uv pip install -r requirements.txt

场景2:生成锁文件

pip需要额外工具
pip freeze > requirements.txt

uv自动生成
uv pip compile   # 生成uv.lock

七、配置文件进阶技巧

pyproject.toml 中添加国内镜像加速:

[tool.uv.sources]
indexes = [
    "https://pypi.tuna.tsinghua.edu.cn/simple"
]

指定多版本Python兼容性:

[project]
requires-python = ">=3.8,<4.0"

通过以上案例可以看出,uv通过简化操作步骤、提升执行效率、规范项目管理,正在成为Python开发者的新宠。建议新手从创建一个小项目开始体验,感受飞一般的开发效率!想了解更多细节可以查看官方文档https://docs.astral.sh/uv/

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。

公众号二维码