天天看點

python3.6 import librosa error: No module named ‘_lzma‘

環境:

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
           

完美解決問題。