Linux环境下Python安装skimage报错ModuleNotFoundError: No module named '_lzma'的解决方案

凌晨两点半
凌晨两点半
发布时间:2026-10-11 | 4人浏览过
原创

在Linux系统中使用Python安装scikit-image(skimage)时,常因缺少lzma库导致ModuleNotFoundError: No module named '_lzma'错误。本文提供通过yum安装依赖、修改源码及配置镜像源的具体操作步骤,帮助快速解决该兼容性问题。

问题背景

在Linux环境下安装 scikit-image 时,如果Python环境缺少 lzma 模块支持,安装过程或后续调用会抛出 ModuleNotFoundError: No module named '_lzma' 异常。这通常发生在较旧的Python版本(如Python 3.6)或未完全编译标准库的环境中。

解决步骤

1. 安装系统依赖库

首先,需要通过包管理器安装 xz-devel 和 python-backports-lzma,以提供必要的底层支持:

yum install xz-devel 
yum install python-backports-lzma

2. 安装scikit-image及相关包

使用pip3安装 scikit-image 和 backports.lzma:

pip3 install scikit-image

pip3 install backports.lzma

3. 修改Python源码以兼容lzma

若上述步骤后仍报错,需手动修改Python安装目录下的 lzma.py 文件。找到路径 /usr/local/python3/lib/python3.6/lzma.py(路径可能因Python安装位置而异)。

将原有的导入代码:

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. 使用镜像源加速安装(可选)

若网络环境导致安装缓慢或失败,可升级 setuptools 并使用国内镜像源(如豆瓣镜像)进行安装:

sudo pip3 install --upgrade setuptools
sudo pip3 install scikit-image -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

注意:使用非官方镜像源时,需添加 --trusted-host 参数以通过SSL验证。

总结

通过安装系统依赖、修改Python源码中的导入逻辑以及使用镜像源,可以有效解决Linux环境下Python安装skimage时的_lzma模块缺失问题。以上就是在Linux环境下解决Python安装skimage报错ModuleNotFoundError: No module named '_lzma'的详细内容,更多关于Python环境配置的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表