超全攻略:用 pip 一键升级所有 Python 包

liftword2个月前 (05-02)技术文章32

宝子们,你是否在为一个个升级 Python 包而烦恼?今天就给大家分享用 pip 升级所有 Python 包的多种方法,赶紧码住!

注意事项

升级依赖包可能会让你的应用程序出问题,所以在操作之前,最好用 pip freeze 列出所有已安装包的精确版本,并保存一份副本,以防万一。

不同 pip 版本的升级方法

pip 22.3 及以上

可以使用 Python 解析 JSON 输出:

pip --disable-pip-version-check list --outdated --format=json | python -c "import json, sys; print('\n'.join([x['name'] for x in json.load(sys.stdin)]))" | xargs -n1 pip install -U

pip 20.0 - 22.3

pip list --format freeze --outdated | sed 's/=.*//g' | xargs -n1 pip install -U

旧版本 pip

pip list --format freeze --outdated | sed 's/(.*//g' | xargs -n1 pip install -U

这里的 grep 是为了跳过可编辑(-e)的包定义,xargs-n1 标志能防止一个包升级失败时中断整个过程。

其他实用方法

使用 pip-review

先安装:

pip install pip-review

交互模式升级:

pip-review --local --interactive

自动升级:

pip-review --local --auto

Python 代码升级

对于 pip < 10.0.1

import pip
from subprocess import call

packages = [dist.project_name for dist in pip.get_installed_distributions()]
call("pip install --upgrade " + ' '.join(packages), shell=True)

对于 pip >= 10.0.1

import pkg_resources
from subprocess import call

packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)

Windows 系统升级方法

for /F "delims===" %i in ('pip freeze') do pip install --upgrade %i

需要在 cmd.exe 中运行。

宝子们可以根据自己的需求和环境选择合适的方法,快去试试吧!

相关文章

Python小技巧:如何批量更新已安装的库?

众所周知,升级某个库(假设为 xxx),可以用pip install --upgrade xxx 命令,或者简写成pip install -U xxx 。如果有多个库,可以依次写在 xxx 后面,以空...

升级到PyTorch 2.0的技巧总结(pytorch的最新版本)

来源:DeepHub IMBA本文约6400字,建议阅读12分钟在本文将演示 PyTorch 2.0新功能的使用,以及介绍在使用它时可能遇到的一些问题。PyTorch 2.0 发布也有一段时间了,大家...

Python pip升级及升级失败解决方案

本教程用于Python pip升级及失败解决方案首先查看脚本pip show pip我已经升级到了最新的版本安装其他模块过程中出现下面提示,便说明你需要升级pipYou are using pip v...

Python mysql批量更新数据(兼容动态数据库字段、表名)

一、应用场景上篇文章我们学会了在pymysql事务中批量插入数据的复用代码,既然有了批量插入,那批量更新和批量删除的操作也少不了。二、解决思路为了解决批量删除和批量更新的问题,提出如下思路:所有更新语...

用纯Python轻松构建Web UI:Remi 动态更新,实时刷新界面内容

引言在前几篇文章中,我们介绍了 Remi 的基础组件、布局管理和事件处理功能。本文将深入探讨 Remi 的动态更新功能,学习如何实时刷新界面内容,从而打造更流畅的用户体验。通过动态更新,我们可以实现实...