[002] [Python3] 批量安装与卸载pip包的脚本分享

本文介绍了如何使用Python脚本来批量安装和卸载pip包。通过编写两个Python脚本pip_install.py和pip_uninstall.py,分别实现自动化安装和卸载操作。用户只需将所需包名列表写入文本文件,脚本会读取并执行相应操作。此外,文章还提供了打包exe文件的方法,方便非Python环境使用。
摘要由CSDN通过智能技术生成
Python3
批量安装pip包
批量卸载pip包

talk is cheap, show you my code.

1 批量安装pip包

  • python代码pip_install.py
import os

try:
    with open('安装第三方包.txt', 'r') as libs:
        lib_list = libs.readlines()
    print('------------------开始安装------------------')
    for lib in lib_list:
        lib = lib.rstrip('\n')
        # popen创建一个管道,通过fork或者invoke一个子进程,然后执行command,返回FIFO数据流的文件对象,具有__enter__()与__exit()方法,是一个上下文管理器
        with os.popen('pip3 install ' + lib) as p:
            s = p.read()
        if (s.find('Successfully installed') != -1):  # 找到此语句说明安装成功
            print(lib + ' 安装成功!')
        else:
            if (s.find('Requirement already satisfied') != -1):
                print(lib + ' 已安装!')
            else:
                print(lib + ' 包名错误!')

    print('------------------所有包安装完成------------------')
    print('安装后的package列表如下:')
    os.system('pip list')
except:
    print('[安装第三方包.txt]文件不存在或文件名错误!')

os.system('pause')
  • 使用方法
    首先将.py文件打包成.exe文件,使用pyinstaller -F pip_install.py命令进行打包(不能加-w,加了就看不到命令运行窗口了),如何打包可以参考我的博客:pyinstaller项目打包成exe文件。然后将安装第三方包.txt与打包生成的pip_install.exe文件放到同一个文件夹下,其中.txt文件名称可在代码中修改,不修改的话必须使用此名称,生成的.exe文件的名称与.py文件一致(.py文件名称无所谓)。
    在这里插入图片描述
    然后将需要安装的包的名称写入到安装第三方包.txt中,示例如下:
    在这里插入图片描述
    其中tete是我故意写错的包名,下面双击pip_install.exe文件查看安装运行结果:
    在这里插入图片描述
    可以看到tete包名错误未安装成功,其它包均安装成功(为了演示先前已批量卸载)

2 批量卸载pip包

  • python代码pip_uninstall.py
import subprocess, os

try:
    with open('卸载第三方包.txt', 'r') as libs:
        lib_list = libs.readlines()

    s = input('确定卸载所有包? (Y/N)\n')
    if s == 'Y' or s == 'y':
        print('------------------开始卸载------------------')
        for lib in lib_list:
            lib = lib.rstrip('\n')
            subprocess.run('pip3 uninstall ' + lib, universal_newlines=True, input='y')  # universal_newlines=True时,input输入为字符串,反之为二进制流
        print('------------------所有包卸载完成------------------')
        print('卸载后的package列表如下:')
        subprocess.run('pip list')
    elif s == 'N' or s == 'n':
        print('取消卸载')
    else:
        print('输入错误!')
except:
    print('[卸载第三方包.txt]文件不存在或文件名错误!')

os.system('pause')

注意:只有python3.5及以上版本才能使用subprocess.run方法。

  • 使用方法
    使用方法与上文一致,只需将需要卸载的包名称放入到卸载第三方包.txt中即可,下面开始演示。
    卸载第三方包.txt中的内容:
    在这里插入图片描述
    双击pip_uninstall.exe后,输入yY开始卸载(nN取消卸载):
    在这里插入图片描述

笔者已将生成好的.exe文件打包上传,需要的自取:批量安装与卸载pip包。没有积分的也可以去下方百度云链接中下载^ ^:https://pan.baidu.com/s/1M1cF5zv00tZnBwWeoFCSlA
提取码:7654

PS: 本人为python新手,代码中如有错误欢迎各位大佬指出!

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西的彷徨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值