• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

pip install requirements报错断解决方式

武飞扬头像
qq_25894535
帮助1

在项目中requirements.txt文件下载第三方库时会因各种原因导致报错中断下载,如果需要下载的库比较多而且有多个库下载时会报错,这样pip install -r requirements.txt这条命令遇到报错就执行不下去 ,需要手动删掉文件中无法安装的库再次执行命令才能安装其他的库,如下代码解决pip下载依赖文件库时中断的情况,下载不成功的库会写在error_module.txt文件里,不会影响其它库的正常安装

  1.  
    import subprocess
  2.  
    import warnings
  3.  
     
  4.  
    erroe_list=[]
  5.  
    error_count=0
  6.  
    with open('requirements.txt') as f:
  7.  
    for line in f:
  8.  
    # 安装当前行指定的库
  9.  
    try:
  10.  
    subprocess.check_call(['pip', 'install', line.strip()])
  11.  
    except subprocess.CalledProcessError as e:
  12.  
    warnings.warn(f"\033[32m安装时出错 {line.strip()}: {e}")#这里使用warnings.warn只有在捕获到异常时才会打印出异常语句并使附带颜色进行控制台输出
  13.  
    #如果直接使用print打印的话 已经安装过的库也会报出警告,将会导致所有的输出语句都附带颜色无法区分异常的打印语句
  14.  
    erroe_list.append(line.strip())
  15.  
    error_count =1
  16.  
    with open('error_module.txt','a')as ef:
  17.  
    ef.write(f'{line.strip()}\n')
  18.  
    if error_count>=1:
  19.  
    print('-'*10,f'有{error_count}个库在安装时报错请查看error_module.txt文件','-'*10)
  20.  
    #因为是多线程的原因,所以行语句的输出顺序混乱,但考虑到下载时占用时间比较多还是没有使用线程锁来控制上面这行输出语句的顺序,基本上都在末尾注意看有标记---的输出语句
  21.  
    else:
  22.  
    print("已成功安装所有库!")
  23.  
     
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfjbaj
系列文章
更多 icon
同类精品
更多 icon
继续加载