项目场景:
系统:centos7
python:3.8.16
问题描述
部署完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'
目前已知该问题在python3.6以上版本会出现,暂定为一个bug
原因分析:
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的项目文件完美运行无报错
标签:lzma,named,backports,filter,报错,import,properties From: https://www.cnblogs.com/chentiao/p/17560100.html