Python: 使用pip升级所有包

时间:2023-03-09 01:05:54
Python: 使用pip升级所有包

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