大家好,我是何三,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/
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。