• ImportError: cannot import name 'HTTPClientFactory' from 'twisted.web.client' (unknown location)


    一、背景

    以前使用py37+scrapy2.3.0 可以正常运行,后来不可以了,会报错。

    可是我以前部署的服务,却仍然可以正常运行。需要排查问题。

    二、分析

    以前的可以,现在的不行,需要对比python环境的差异。

    结合报错信息中提及的关键词Twisted。

    ImportError: cannot import name 'HTTPClientFactory' from 'twisted.web.client' (unknown location)
    

    通过对比发现:

    以前的Twisted版本低(20.3.0)

    现在的Twisted版本高( 22.4.0)

    三、解决

    既然版本有差异,试一下降低Twisted版本

    pip install Twisted==20.3.0
    

    运行项目,发现好了。一切又恢复正常了。

    四、结论

    是Twisted的高版本22.4.0不兼容低版本的scrapy2.3.0,需要低的旧版本Twisted20.3.0

    重装一下Twisted的低版本即可:

    pip install Twisted==20.3.0
    
  • 相关阅读:
    构建之法8,9,10章
    作业6
    通过处理器类型获得处理器对象
    面经
    C语言实现字符串替换
    计算机网络整理
    常见面试题
    数据库常见面试题
    redis常见知识整理
    项目总结
  • 原文地址:https://www.cnblogs.com/andy9468/p/16423466.html
Copyright © 2020-2023  润新知