项目场景:
系统: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的项目文件完美运行无报错
- 中报 ModuleNotFoundError 过程 module named中报modulenotfounderror过程module modulenotfounderror module named 39 modulenotfounderror watchdog module named modulenotfounderror module kornia named modulenotfounderror packaging module named modulenotfounderror module pandas named modulenotfounderror module infer named modulenotfounderror module named torch modulenotfounderror module lanms named modulenotfounderror module qrcode named