运行Scrapy爬虫时出现ImportError: No module named _util错误求助
解决Scrapy运行时
ImportError: No module named _util的问题 从你的报错信息来看,核心问题是pyOpenSSL版本过低,和当前安装的Twisted 18.4.0不兼容导致的。你当前使用的pyOpenSSL是0.13.1,这个版本太老旧,无法满足Twisted 18.4.0对OpenSSL._util模块的依赖要求。
下面是具体的解决步骤:
首先卸载旧版本的pyOpenSSL:
pip uninstall pyOpenSSL -y安装与你的环境兼容的pyOpenSSL版本。由于你使用的是Python2.7,建议安装0.15.x系列的稳定版本(既兼容Twisted 18.4.0,也支持Python2.7):
pip install pyOpenSSL==0.15.1或者你也可以直接安装支持Python2.7的最高兼容版本:
pip install pyOpenSSL>=0.15.0,<20.0.0验证安装是否成功:
运行以下命令,如果输出Success则说明依赖问题已解决:python -c "from OpenSSL._util import lib as pyOpenSSLlib; print('Success')"
完成以上步骤后,重新执行scrapy crawl swspider应该就能正常运行了。
额外提醒:Python2.7已经停止官方维护,后续会遇到越来越多的库兼容性问题。如果长期使用Scrapy进行爬虫开发,建议升级到Python3.x版本,能获得更好的支持和更丰富的功能。
内容的提问来源于stack exchange,提问作者nomadlx
相关产品推荐
相关产品推荐

