利用pip批量更新python第三方库

python第三方库批量更新

我的python版本是3.7
以下为代码:
#!-*- coding:utf-8 -*-
# @author:      dwcai
# @software:    PyCharm
# @file:        pip_batch_update_packages.py
# @time:        2019-06-21 23:41
# @desc:        使用pip批量升级第三方库
# --------------------- sep ---------------------
import os
import time
import pandas as pd

os.chdir(os.path.dirname(__file__))
os.makedirs('log/', exist_ok=True)


def get_outdated_packages():
    # 获取需要更新的第三方库名
    os.system('pip list --outdate > outdated_packages.txt')
    print("完成提取所需更新第三方库名.")
    pf = pd.read_csv('outdated_packages.txt', skiprows=2, header=None, sep='\\s+')
    pf.columns = ['name', 'old', 'new', '_type']
    names = pf['name'].values
    return names


def batch_update():
    # 获取需要更新的第三方库名
    names = get_outdated_packages()
    n = len(names)
    cmd = 'python -m pip install --upgrade {package_name}'
    for i, name in enumerate(names):
        print("\n共%d个, 正在更新第%d个: %s." % (n, i+1, name))
        os.system(cmd.format(package_name=name))


def del_file():
    os.remove('outdated_packages.txt')


def main(delete=False):
    batch_update()
    if delete:
        del_file()


if __name__ == "__main__":
    start = time.time()
    print("开始更新......")
    main(delete=False)
    end = time.time()
    print("更新所有库耗时: %.5f seconds" % (end-start))

可以直接copy代码到一个.py文件, 运行即可.
这代码利用的是os.system调用pip, 设计复杂化了, 李庆海设计的程序就简洁许多了, 膜拜.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值