ModuleNotFoundError: No module named ‘_lzma‘

安装torchvision报错:ModuleNotFoundError: No module named ‘_lzma’
参考文章:https://zhuanlan.zhihu.com/p/404162713
解决思路:用backports.lzma代替_lzma
解决步骤:(ubuntu系统)

  1. 安装依赖sudo apt-get install liblzma-dev
    如果报如下镜像404错误,先升级一下apt:sudo apt update ModuleNotFoundError: No module named ‘_lzma‘_第1张图片

  2. 安装替代库 backports.lzmapip install backports.lzma

  3. 修改lzma.py源码

    • find / -name lzma.py找到源码文件路径

    • vim /usr/local/python/lib/python3.8/lzma.py 修改import部分,文件用自己的路径替换。

      #修改前
      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
      
  4. 重新验证:import torchvision成功

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