报错日志
在导入datasets包时, 里面相关包进行了import lzma,import lzma中进行了import _lzma,于是出现报错:
No module named ‘_lzma’
解决方法
从python 3.3开始,lzma就是python自带的模块了。 虽然python
3.3+自带lzma模块,可是如果你是从源码安装的python,而且系统中没有安装lzma-dev包,那么就不会安装lzma模块。
1、安装
sudo apt-get install liblzma-dev
pip3 install backports.lzma
2、修改lzma.py文件,该文件在python安装目录下,比如我在/usr/local/lib/python3.7下
将
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
再次导包没有出现报错了!!
当然,换个高版本的python也能解决问题,我当前环境的python版本是3.7.4,在另一个docker里的python版本是3.7.7,没有出现这样的问题,具体哪个版本行得通还是要多尝试。