pip install 卡在“Resolving packages…”是因新版 resolvelib 解析器暴力回溯依赖冲突,常见于混用 conda/pip 或缓存损坏,杀进程+清缓存可解决90%问题。

Python 安装进度条卡住,大概率不是网络或磁盘问题,而是 pip 在后台反复尝试解析依赖冲突,或被旧缓存/锁文件阻塞。直接杀进程 + 清缓存再试,90% 能解决。
为什么 pip install 卡在“Resolving packages…”不动
这不是界面假死,而是 pip 的依赖解析器(尤其是 22.0+ 版本默认启用的 resolvelib)在暴力回溯尝试兼容方案。一旦你装过多个版本的包、混用 conda 和 pip、或本地有损坏的 pip wheel 缓存,它就可能陷入长时循环。
- 常见错误现象:
Resolving packages...持续 5 分钟以上,CPU 占用低,pip进程不退出 - 使用场景:安装带复杂依赖的包(如
torch、scikit-learn、pydanticv2+)时高发 - 参数差异:
--no-deps可跳过解析,但治标不治本;--use-deprecated=legacy-resolver强制回退老解析器(仅限 pip
结束卡死的 pip 进程要关对地方
别只杀终端窗口——pip 很可能在后台以子进程形式持续运行,尤其在 Windows 上会残留 python.exe 实例,macOS/Linux 则常驻 pip 或 python 进程。
- Windows:打开任务管理器 → 结束所有
python.exe和pip相关进程(注意区分 IDE 自带的 Python) - macOS/Linux:运行
pkill -f "pip install"或pgrep -f "pip" | xargs kill -9 - 别漏掉
pip的锁文件:~/.cache/pip/下的http和selfcheck目录不影响,但~/.cache/pip/Cache/(旧版)或~/.cache/pip/http/中的临时锁文件可能卡住后续操作
清理缓存比重装 Python 更有效
pip cache info 显示的路径只是摘要,真正要清的是整个缓存目录。旧缓存里可能存着半失败的 wheel、损坏的 METADATA、或与当前 Python 版本不兼容的构建产物。
立即学习“Python免费学习笔记(深入)”;
- 执行
pip cache purge—— 这是标准方式,但有时不彻底 - 手动删更稳:
rm -rf ~/.cache/pip(macOS/Linux)或rd /s /q "%LOCALAPPDATA%\pip\Cache"(Windows) - 如果用过
pip install --user,顺手检查~/.local/share/virtualenv/或%APPDATA%\pip\VirtualEnv是否有残留构建临时目录 - 性能影响:首次重装会慢一点(要重新下载),但避免了反复解析失败的 CPU 空转
最麻烦的情况是:你在一个被污染的虚拟环境中反复重试,而该环境的 site-packages 里混着部分安装成功的包和一堆 .dist-info 半成品。这时候光清缓存没用,得删掉整个 venv 重建——别舍不得,pip freeze > reqs.txt 后 rm -rf venv 再 python -m venv venv,反而更快。










