重新配置系统时,经常需要安装若干第三方库,可以用以下代码实现第三方库的批量安装,使用时只需要修改欲安装的第三方库的列表即可。

    1. import os
    2. # libs 是想批量安装的第三方库的名字列表,可增减
    3. libs=["jieba","numpy","matplotlib","pillow","pandas","scipy","sympy","wordcloud","repuests","beautifulsoup4","wheel","pyinstaller","sqlalchemy","requests","Scrapy"]
    4. try:
    5. for lib in libs: # 遍历列表中的第三方库名,每次取其中一个第三方库的名字
    6. os.system("pip install "+lib) # 调用cmd并执行pip install 第三方库名
    7. print("安装成功") # 安装成功返回提示信息
    8. except:
    9. print("安装失败") # 安装失败的提示信息

    系统运行一段时间后,由于第三方库经常更新,每个库都单独更新费时费力,可以使用以下代码实现批量更新第三方库。

    1. # pip 21.3以后不可用
    2. import pip
    3. from subprocess import call
    4. from pip._internal.utils.misc import get_installed_distributions
    5. for dist in get_installed_distributions():
    6. call("pip install --upgrade " + dist.project_name, shell=True)

    批量更新第三方库代码

    1. # 批量更新python所有的三方库,网络收集代码
    2. # 可以使用pip list -o命令查看所有需要更新的库的列表
    3. import subprocess
    4. # pip显示需要更新的python列表
    5. com_list_o = 'pip list -o'
    6. # 执行命令并返回结果
    7. p = subprocess.Popen(com_list_o, shell=True, stdout=subprocess.PIPE)
    8. # 取命令返回结果,结果是一个二进制字符串,包含了我们上面执行pip list -o后展现的所有内容
    9. out = p.communicate()[0]
    10. # 二进制转utf-8字符串
    11. out = str(out, 'utf-8')
    12. # 切出待升级的包名, 并存入列表
    13. need_update = []
    14. for i in out.splitlines()[2:]:
    15. need_update.append(i.split(' ')[0])
    16. # 执行升级命令,每次取一个包进行升级,pip只支持一个包一个包的升级
    17. for nu in need_update:
    18. com_update = 'pip install -U {py}'.format(py=nu)
    19. print("执行命令:", com_update)
    20. subprocess.call(com_update)
    21. print("----------{com} 执行结束-----------\n".format(com=com_update))
    22. print("检查更新情况:")
    23. subprocess.call(com_list_o)