新建一个shell文件
比如upgrade.sh
输入以下内容
for i in `pip list -o --format legacy|awk '{print $1}'` ; do sudo -H pip install --upgrade $i; done
pip list -o 得到所有待更新的包
format有两个选项,一个是legacy,一个是columns
后者会带一个表头:
Package Version Latest Type
因此选择用legacy的格式
用awk得到第一列
遍历更新
还有一种方法:
使用python,以root权限运行
import pip
from subprocess import call
for dist in pip.get_installed_distributions():
call("pip install --upgrade " + dist.project_name, shell=True)
但是遍历了所有安装了的包,效率偏慢