在服务器上安装python3.6.5,之前用的没什么问题,今天使用matplotlib给出了报错。
报错内容:
from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named ‘_bz2’
看了一堆些常见的解决教程,都不好用,后来看了了stackflow发现了问题:
https://stackoverflow.com/questions/12806122/missing-python-bz2-module
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的,改了一下名发现好用了。用在其它版本的请对应改名。
转载:https://blog.csdn.net/heros_never_die/article/details/79942124