uv缓存可安全清理,但须避免手动删除目录;推荐日常用uv cache prune清理未引用项,或用uv cache clean彻底清空,亦可迁移缓存至非系统盘。

uv 缓存能安全清理,但直接删 ~/.cache/uv 或 %LOCALAPPDATA%\uv\cache 是最常踩的坑——可能中断正在运行的 uv 进程,或留下损坏缓存导致后续命令报错。
用 uv cache prune 清理未被引用的缓存(推荐日常使用)
这是最安全、最省心的方式。它只删那些确认没被任何项目依赖的 wheel、源码、Git 仓库等缓存项,不会影响当前活跃环境。
- 执行前会自动检查是否有其他
uv进程在用缓存,避免冲突 - 释放空间可观:实测 macOS 上一次
prune清掉 72.8GiB(含 3960973 个文件) - 不重装包、不重解析依赖,下次
uv pip install仍能命中有效缓存 - 命令简单:
uv cache prune,加--dry-run可预览(但注意该参数在部分旧版本 uv 中不可用)
用 uv cache clean 彻底清空所有缓存(适合磁盘告急时)
当 prune 释放不够,或者你明确想“重置”整个缓存状态(比如换 Python 版本后旧 wheel 不再兼容),才用这个。
Python uv 0.12.20 是 Astral 开发的 Python 包与项目管理工具,支持依赖解析、虚拟环境、Python 版本及项目锁文件管理。本下载包适用于 Windows x64,解压后可使用 uv 命令。
- 会删掉
wheels-v1、sources-v3、git-db-v2、metadata-v13所有子目录 - 下次安装包会重新下载+编译,耗时明显增加(尤其大包如
torch) - 若只想清某个包,用
uv cache clean torch,比全清更精准 - 遇到
Cache is currently in-use, waiting...提示,可加--force强制执行(确保没其他终端正在跑uv)
清理前先看清楚缓存占了多少空间
别盲目删。先确认缓存位置和大小,心里有数再动手。
- 查路径:
uv cache dir(输出类似/Users/xxx/.cache/uv或C:\Users\xxx\AppData\Local\uv\cache) - 查大小(macOS/Linux):
du -sh $(uv cache dir);Windows 可用Get-ChildItem -Path $env:LOCALAPPDATA\uv\cache -Recurse | Measure-Object -Property Length -Sum - 想对比清理效果?记下初始大小,清理完再跑一次
du -sh,差值就是真实释放量
长期节省空间:改缓存位置或定期 prune
缓存默认落在系统盘(C:/ 或 ~/.cache),容易把 SSD 塞满。一劳永逸的方法是挪走或自动化。
- 临时改路径(当前终端生效):
export UV_CACHE_DIR="/mnt/bigdisk/uv-cache"(Linux/macOS)或$env:UV_CACHE_DIR="D:\uv-cache"(PowerShell) - 永久生效:把
export UV_CACHE_DIR=...加进~/.bashrc或~/.zshrc;Windows 加系统环境变量 - 定时清理(macOS):
launchd配置每周跑一次uv cache prune;Linux 用cron类似
真正麻烦的不是命令本身,而是缓存目录里藏着几百个随机命名的虚拟环境(archive-v0 下的 -0f3mVGK6HSiPaO3x0vCz/ 这种),它们不被 prune 自动识别——得靠 uv venv --clear 单独处理,或者手动删 archive-v0 目录(仅当你确认这些环境已废弃)。

















