uv tree命令可快速生成项目依赖树状图,支持限制深度、过滤包名及json导出,不修改项目文件。

想快速看清项目里所有包的依赖关系,避免版本冲突或冗余安装,直接用 uv tree 命令就能生成清晰的树状结构图,不用手动翻 pyproject.toml 或猜传递依赖。
基础依赖树查看
在项目根目录(含 pyproject.toml 的目录)下运行:
uv tree
这会递归列出当前项目所有已解析的依赖及其子依赖,层级缩进表示依赖深度。默认显示全部层级,如果项目依赖很深,输出可能很长。
限制依赖树深度
只关心一级或二级依赖时,加 --depth 参数控制层数:
uv tree --depth 1
uv tree --depth 2
深度设为 1 时只显示直接声明在 pyproject.toml 中的包;设为 2 时再展开一层间接依赖。超过实际依赖层级不会报错,只是不显示更深内容。
过滤特定包的依赖路径
方法一:用 --package 指定目标包名,查看它被哪些包引入以及它的子依赖链
uv tree --package requests
方法二:结合 grep 快速定位(适合终端支持管道的系统)
uv tree | grep -A 5 -B 1 "numpy"
【注意】--package 参数值必须与 uv pip list 中显示的包名完全一致(区分大小写,不含版本号)
以 JSON 格式导出依赖树
第一步:执行导出命令
uv tree --format json > deps.json
第二步:该命令会生成标准 JSON 结构,包含包名、版本、依赖项数组等字段,可被脚本解析或导入其他工具分析。
第三步:若项目尚未锁依赖(无 uv.lock),uv tree 会先触发一次轻量解析,但【不会修改 pyproject.toml 或生成 uv.lock】,仅读取当前声明并计算可达依赖。










