重新配置系统时,经常需要安装若干第三方库,可以用以下代码实现第三方库的批量安装,使用时只需要修改欲安装的第三方库的列表即可。
import os
# libs 是想批量安装的第三方库的名字列表,可增减
libs=["jieba","numpy","matplotlib","pillow","pandas","scipy","sympy","wordcloud","repuests","beautifulsoup4","wheel","pyinstaller","sqlalchemy","requests","Scrapy"]
try:
for lib in libs: # 遍历列表中的第三方库名,每次取其中一个第三方库的名字
os.system("pip install "+lib) # 调用cmd并执行pip install 第三方库名
print("安装成功") # 安装成功返回提示信息
except:
print("安装失败") # 安装失败的提示信息
系统运行一段时间后,由于第三方库经常更新,每个库都单独更新费时费力,可以使用以下代码实现批量更新第三方库。
# pip 21.3以后不可用
import pip
from subprocess import call
from pip._internal.utils.misc import get_installed_distributions
for dist in get_installed_distributions():
call("pip install --upgrade " + dist.project_name, shell=True)
批量更新第三方库代码
# 批量更新python所有的三方库,网络收集代码
# 可以使用pip list -o命令查看所有需要更新的库的列表
import subprocess
# pip显示需要更新的python列表
com_list_o = 'pip list -o'
# 执行命令并返回结果
p = subprocess.Popen(com_list_o, shell=True, stdout=subprocess.PIPE)
# 取命令返回结果,结果是一个二进制字符串,包含了我们上面执行pip list -o后展现的所有内容
out = p.communicate()[0]
# 二进制转utf-8字符串
out = str(out, 'utf-8')
# 切出待升级的包名, 并存入列表
need_update = []
for i in out.splitlines()[2:]:
need_update.append(i.split(' ')[0])
# 执行升级命令,每次取一个包进行升级,pip只支持一个包一个包的升级
for nu in need_update:
com_update = 'pip install -U {py}'.format(py=nu)
print("执行命令:", com_update)
subprocess.call(com_update)
print("----------{com} 执行结束-----------\n".format(com=com_update))
print("检查更新情况:")
subprocess.call(com_list_o)