#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pip
from pip._internal.utils.misc import get_installed_distributions
from subprocess import call, Popen, PIPE
from time import sleep
import re
def isroot():
who = Popen(["whoami"], shell=True, stdout=PIPE)
return 'root' in re.split('\s+', who.stdout.read().decode())
if __name__ == "__main__":
callfmt = "pip install --upgrade " if isroot() else "pip install --user --upgrade "
packges = get_installed_distributions()
print("待检查更新包数量: {} 个".format(len(packges)))
for n, dist in enumerate(packges, start=1):
print("\n{}\n检查更新包{}: {} {}\n{}".format('=' * 80, n, callfmt, dist.project_name, '>' * 50))
call(callfmt + dist.project_name, shell=True)