pip-review 已废弃,最后一次发布为2021年v1.3.0,依赖pip>=20.0,不兼容Python 3.12+,推荐使用pip-tools + pip或原生pip命令替代。

pip-review 不是 pip 内置命令,也早已停止维护;直接运行会报错 command not found 或安装后在 Python 3.12+ 下根本无法工作。
pip-review 已废弃,替代方案只有 pip-tools + pip 或原生 pip 命令
它最后一次发布是 2021 年(v1.3.0),依赖的 pip>=20.0,,而当前主流 pip 版本已超 24.x。即便强行降级 pip 安装,也会因内部调用已移除的 <code>pip.commands 模块而抛出 AttributeError: module 'pip' has no attribute 'commands'。
真正可用、且被广泛验证的方式只有两种:
- 用
pip list --outdated --format=freeze结合pip install -U批量升级(轻量、无依赖) - 用
pip-tools管理requirements.in→ 编译为锁定版requirements.txt(适合项目级可复现升级)
最简方案:一行命令完成“检查 + 升级”,不装额外工具
不需要任何第三方包,仅靠 pip 自带功能即可安全更新所有过期库(跳过有冲突或编译失败的包):
立即学习“Python免费学习笔记(深入)”;
pip list --outdated --format=freeze | grep -v "^\-e" | cut -d = -f 1 | xargs -r pip install -U
说明:
快速生成专业的 Python 脚本和应用代码。一键创建完整项目结构,支持CLI、API、爬虫、Bot、Django等多种项目类型,包含完整的项目结构、配置文件、依赖管理、测试、README和文档。
-
pip list --outdated --format=freeze输出形如requests==2.25.1的过期项,含当前/最新版本号 -
grep -v "^\-e"过滤掉本地可编辑安装(-e .)的包,避免误升级开发中代码 -
cut -d = -f 1提取包名(去掉版本号),防止pip install -U requests==2.25.1这类无效操作 -
xargs -r确保无输出时不执行pip install -U,避免报错
⚠️ 注意:该命令不会自动处理依赖冲突。若某库升级后导致其他库不兼容,pip 会中止并提示,此时需人工介入(比如加 --force-reinstall 或调整顺序)。
项目级推荐:用 pip-tools 实现可控、可回滚的升级流程
适用于有 requirements.in 的项目,目标不是“全升”,而是“升到满足约束的最新兼容版本”:
- 先确保已安装:
pip install pip-tools - 把想升级的包写进
requirements.in(例如只写requests、click,不带版本) - 运行:
pip-compile --upgrade --generate-hashes requirements.in - 再执行:
pip install --upgrade --force-reinstall -r requirements.txt
好处是生成的 requirements.txt 含精确版本 + hash 校验,下次部署能完全复现;--upgrade 只升 requirements.in 中列出的包,不影响间接依赖。
坏处是学习成本略高,且对纯临时脚本场景属于“杀鸡用牛刀”。
真正容易被忽略的是:很多用户以为“升级所有库”等于“更稳定”,但实际生产环境里,盲目 pip install -U 常导致 ImportError 或接口行为变更(比如 urllib3 v2 移除了 disable_warnings())。升级前务必确认是否真有安全补丁需求,或是否已跑通单元测试。

















