ModuleNotFoundError: No module named ‘_lzma‘

项目场景:

系统: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的项目文件完美运行无报错

你可能感兴趣的:(scrapy,linux,python,python,开发语言)