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
posted @ 2022-06-29 15:01  安迪9468  阅读(2013)  评论(0编辑  收藏  举报