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