1. 程式人生 > >Python:Modulenotfounderror: No module named '_bz2'

Python:Modulenotfounderror: No module named '_bz2'

在伺服器上安裝python3.6.5,之前用的沒什麼問題,今天使用matplotlib給出了報錯。

報錯內容:

from _bz2 import BZ2Compressor, BZ2Decompressor

ModuleNotFoundError: No module named ‘_bz2’

看了一堆些常見的解決教程,都不好用,後來看了了stackflow發現了問題:

linux下使用官方source release安裝會出現這個問題,而apt-get之類的則不會。

由於缺少root許可權,也沒有yum可以用,所以好多方法都不好用。直到看到這篇:

Linux下非Root使用者解決ImportError: No module named bz2

說白了少個檔案,它不一定叫bz2.so,但是大概是lib-dynload檔案下的含有bz2的so檔案,複製到自己的python的同名資料夾下就好了。

路徑全稱:…/python36/lib/python3.6/lib-dynload/

我找到的檔案叫:_bz2.cpython-36m-x86_64-linux-gnu.so

裡面-36m是版本對應的,也必須改,例如python3.5版本就應該叫-35m。

後記:我從伺服器python3.5裡面拿過來的,剛拿過來不好用,它一開始叫bz2.cpython-36m-x86_64-linux-gnu.so,

我自己用的python3.6,看了一眼目錄裡都是-36m的,改了一下名發現好用了。用在其它版本的請對應改名。