运行scrapy爬虫项目时报错:ModuleNotFoundError: No module named ‘_lzma‘,很多文章的解决方案是重新安装python,但重新安装后会发现一样还是会报错,报错如下图:
解决思路:用backports.lzma代替_lzma包
解决步骤
1、安装依赖
1 | sudo apt-get install liblzma-dev |
如果报如下镜像404错误,先升级一下apt:sudo apt update
2、安装替代库 backports.lzma
1 | pip3 install backports.lzma |
3、修改lzma.py源码
lzma.py源码文件路径在上图,根据自己的环境位置确定该文件的地址,或者可根据 find / -name lzma.py找到源码文件路径
修改/Users/xiexiang/.pyenv/versions/3.10.10/lib/python3.10/lzma.py这个文件:
1 | #修改前 |
4、验证
爬虫就正常运行了