解决:
ModuleNotFoundError: No module named _bz2
在服务器上安装python3.8,安装pandas使用时,出现这个问题。试了很多方法,总结一下问题:
yum安装或者download bzip2-1.0.6.tar.gz from https://github.com/nemequ/bzip2/releases 这两个选择一个就可以,但是yum安装没有解决问题,所以就下载了bzip2的源码进行编译
yum install bzip2-devel
tar -zxvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make && make install
这里要改一下名字,保证:
/usr/include里有bzlib.h
/usr/lib64里有libbz2.so.1.0(如果是通过yum安装或者源码安装有可能名字不是这样的,比如libbz2.so,要改一下名称)
之后编译python3.8
export CFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib64"
export LD_LIBRARY_PATH=/usr/lib64
./configure --prefix=/usr/local/python3.8
make
另外采用直接拷贝_bz2.cpython-38-x86_64-linux-gnu.so并不能解决问题,需要本地编译生成
https://stackoverflow.com/questions/12806122/missing-python-bz2-module
总结一下:
保证
/usr/include/bzlib.h
/usr/lib64/libbz2.so.1.0存在
然后编译python3.8时指明路径