〇一之父的技术笔记

用 uv 管理 Python 项目依赖

2026-08-03

之前一个项目里 requirements.txtvenvpip-tools 混着用,换台机器装环境要折腾半小时。换成 uv 之后,整个流程收敛成三条命令。

日常用法

uv sync              # 按 pyproject.toml + uv.lock 装齐,自动建 .venv
uv add pandas        # 新增依赖并更新锁文件
uv run script.py     # 在项目环境里跑脚本,不用手动 activate

几个让我留下来的点

一个坑

脚本要独立运行(不经 uv run)时,记得 shebang 用 .venv/bin/python 的绝对路径,或者在 systemd 单元里写全 ExecStart=/srv/app/.venv/bin/python ...。否则 cron/systemd 的精简环境里找不到解释器,报错信息还很不直观。