方法一

pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U
  1. pip freeze --local

    列出所有本地安装的python包,格式如:

    Landscape-Client==14.12
        PAM==0.4.2
        Twisted-Core==13.2.0
        apt-xapian-index==0.45
        ...
  2. grep -v '^-e' : 过滤掉那些以编辑模式安装的python包

  3. cut -d = -f 1 : 剪切取得安装包名列表,如

    Landscape-Client
        PAM
        Twisted-Core
        apt-xapian-index
        ...
  4. xargs -n1 pip install -U,把前面得到的软件包列表以参数传给pip安装升级,xargs选项-n1是防止一个软件包安装失败后终止安装后面的软件包

方法二

用python代码来执行升级

import pip
from subprocess import call

for dist in pip.get_installed_distributions():
    call("pip install --upgrade " + dist.project_name, shell=True)