您当前的位置:首页 > 计算机 > 编程开发 > Python

ModuleNotFoundError: No module named '_lzma'

时间:03-06来源:作者:点击数:

问题描述

运行训练脚本显示如下错误:

   File “/usr/local/python3.7.5/lib/python3.7/lzma.py”,line27,in <module>
     from _lzma import*
ModuleNotFoundError: No module named '_lzma'

可能原因

python 3.3版本以上会自带lzma模块,可是如果用户是通过源码安装的python,而且系统中没有安装lzma-dev包,那么就不会安装lzma模块。

解决方法

  1. 如果用户正在使用的python是通过源码安装的,需要先安装系统依赖。
    此处以CentOS与Ubuntu操作系统为例。
    Debian系统可参考Ubuntu进行安装。
    OpenEuler、BCLinux、Kylin V10系统可参考CentOS进行安装。
    • Ubuntu
      apt-get install -y liblzma-dev
    • CentOS
      yum install -y xz-devel python-backports-lzma
  2. 执行如下命令安装lzma。
    pip3 install backports.lzma
  3. 根据报错信息上面的报错路径,执行如下命令修改lzma.py文件(此路径仅为示例,请用户以实际情况为准)。
    vi /usr/local/python3.7.5/lib/python3.7/lzma.py
    在文件/usr/local/python3.7.5/lib/python3.7/lzma.py,line27行,修改如下:
    # 修改前
    from _lzma import *
    from _lzma import _encode_filter_properties, _decode_filter_properties
    
    # 修改后
    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
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门