環境:
ubuntu 16
python 3.6.7
本人的環境中同時存在python2.7 / 3.5 / 3.6 三個版本
import librosa
import lzma
上面兩個操作都會引起這個錯誤:
ModuleNotFoundError: No module named ‘_lzma’
這個錯誤出現的莫名其妙。
第一 定位lzma檔案,确實存在
第二 在python2.7 或者 3.5 中不報錯
是以我頭疼,查閱了很多資料,基本上都是在import pandas的時候才出現這個錯誤,而我卻這麼特殊,導緻我很難受,通過一頓借鑒和試錯,最後還是解決了這個問題。
解決過程如下:
第一步:去lzma官網檢視ubuntu環境下如何安裝lzma
lzma官網安裝教程
(1)sudo apt-get install liblzma-dev
(2)pip install backports.lzma
如果和我一樣是python 3.6,第二個操作換換成:
pip3 install backports.lzma (可能需要sudo)
第二步:修改原本就存在的lmza.py檔案
把 /usr/local/lib/python3.6/lzma.py line 27行
修改如下:
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
完美解決問題。