python 批量更新第三方库

pip更新库蛮麻烦的,需用 pip install -U 指令来更新,一二个还好办,多了就麻烦了,于是弄了个批量更新的脚本,就是用来subprocess结合pip来实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import subprocess,re
 
pipup_check=subprocess.run('pip list -o',shell=False,stdout=subprocess.PIPE,encoding='gbk').stdout
pipup_check_list=[]
for x1 in pipup_check.split('\n')[2:]:
    x2=re.split(' +',x1)
    if len(x2)==4:
        pipup_check_list.append(x2)
 
for s1 in pipup_check_list:
    try:
        command_result=subprocess.run(f'pip install -U {s1[0]} -i https://pypi.tuna.tsinghua.edu.cn/simple', shell=False, stdout=subprocess.PIPE, encoding='gbk').stdout
        print(command_result)
    except:
        pass

  

1
subprocess执行命令有几种方法,如call popen等,好像差不多的,shell=FalseTrue一般来说False更安全,可接受列表命令,如['pip','list','-o'],但似乎直接用字符串也没问题,但如果是dir之类的系统内置命令必须是设为True。re.split(' +',x1)<br>把结果按正则分出来,首个就是库名了,下面就循环执行升级命令就可以了
posted @   天道小黑屋  阅读(317)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示