快捷搜索: 王者荣耀 脱发

[002] [Python3] 批量安装与卸载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(
)
        # 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,加了就看不到命令运行窗口了),如何打包可以参考我的博客:。然后将安装第三方包.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)
)
    if s == Y or s == y:
        print(------------------开始卸载------------------)
        for lib in lib_list:
            lib = lib.rstrip(
)
            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后,输入y或Y开始卸载(n或N取消卸载):

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

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

END

经验分享 程序员 微信小程序 职场和发展