pip 当前内建命令并不支持升级所有已安装的Python模块。
列出当前安装的包:
pip list
列出可升级的包:
pip list --outdate
升级一个包:
pip install --upgrade requests // mac,linux,unix 在命令前加 sudo -H
升级所有可升级的包:
pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U
for i in `pip list -o --format legacy|awk '{print $1}'` ;
脚本方式1:
import pip from subprocess import call for dist in pip.get_installed_distributions(): call("pip install --upgrade " + dist.project_name, shell=True)
脚本方式2:
import re import os pak_re = re.compile(r'[a-zA-Z0-9]+[-]*[a-zA-Z0-9]*') print("正在获取需要升级的包列表,需要网络,可能需要一点时间") pak_list = os.popen("pip list -o").readlines() print("已获取全部需要升级的包,总共", str(len(pak_list)), "个,请耐心等待") for i in range(len(pak_list)): pak_list[i] = pak_re.search(pak_list[i])[0] + os.linesep count = 1 for i in pak_list: os.system("pip install --upgrade " + i) print("第" + str(count) + "个包升级完成") count += 1 print("恭喜!全部升级完成了!")
pip-review方式:
pip install pip-review pip-review --local --interactive