项目场景:
系统:centos7
python:3.6.4
问题描述
部署完python后将我们在windows环境中的scrapy文件传入我们的centos中后进行运行报错:
错误如下:
from lzma import LZMAFile
File "/usr/local/lib/python3.6/lzma.py", line 27, in <module>
from _lzma import *
ModuleNotFoundError: No module named '_lzma'
原因分析:
1、问题可能是没有下载lzma库,导致的
2、还有可能是导入错误原因导致的
这个时候我们仔细观察报错,/usr/local/lib/python3.6/lzma.py,我们找到这个文件,然后打开他找到27行也就是保存的那一行,将其更正就可以了。
解决方案:
首先下载lzma库
yum install xz-devel -y
yum install python-backports-lzma -y
pip install backports.lzma
找到报错文件的位置使用vi命令打开并且编辑改文件文件:
/usr/local/lib/python3.6/lzma.py
经引入部分修改为以下内容(修改位置大概在文件的27行左右):
import builtins
import io
import os
try:
from _lzma import *
from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
from backports.lzma import *
from backports.lzma import _encode_filter_properties, _decode_filter_properties
import _compression
修改后再次运行scrapy的项目文件完美运行无报错