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 手册。




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

posted @ 2017-05-18 21:27  BlackStorm  阅读(...)  评论(... 编辑 收藏