如何使用pip-review更新除scons外的所有Python包?
更优的pip-review排除指定包更新方案
直接给你两个比当前方案更高效的方法,不用先更新再回滚:
方法一:利用pip-review的内置排除参数(推荐)
如果你用的是较新版本的pip-review,它自带--exclude参数,可以直接指定要排除的包,一步完成更新:pip-review --local --auto --exclude scons这个命令会直接跳过
scons的更新,其他包正常升级,完全避免了先装新版再回滚的冗余操作。方法二:手动过滤更新列表(适配旧版pip-review)
如果你的pip-review版本太旧没有--exclude选项,可以先生成可更新包的列表,过滤掉scons后再批量更新:pip-review --local | grep -v 'scons' | awk '{print $2}' | xargs -n1 pip install -U原理是先列出所有可更新的包,用
grep -v去掉包含scons的行,再用awk提取包名,最后通过xargs逐个执行升级命令。
对比你当前的方案,这两种方法都不用重复安装卸载scons,既节省时间,也能避免新版scons安装过程中可能带来的依赖冲突问题。
内容的提问来源于stack exchange,提问作者Setu
相关产品推荐
相关产品推荐

