LINUX下Python3包批量检查升级

#!/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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容