python通过pip更新所有已安装的包

较新的pip已经支持list --outdated了,所以记录一下新的方法:

pip list --outdated --format=legacy |awk '{print $1}' |xargs sudo -H pip install -U
pip3 list --outdated --format=legacy |awk '{print $1}' |xargs sudo -H pip3 install -U

format有两个选项,一个是legacy,一个是columns。后者会带一个表头:

Package        Version Latest Type 
-------------- ------- ------ -----

因此选择用legacy的格式,用awk取第一列就好了。

另外,网上很多方法都是在root下操作或者直接sudo不带-H的,这会在一些机器上出现问题。推荐用sudo -H,具体效果请自行查看man手册。

[blockquote]

本文基于

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议发布,欢迎引用、转载或演绎,但是必须保留本文的署名BlackStorm以及本文链接http://www.cnblogs.com/BlackStorm/p/6875684.html,且未经许可不能用于商业目的。如有疑问或授权协商请与我联系。

[/blockquote]

相关推荐