[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
下一篇:
java常见的线程池&使用场景