No module named _bz2

  1. 环境:suse 12 sp3 、python 3.6.4 、  django 2.0.2
  2. 背景:在Windows上开发,在Linux部署生产(我来了之后让我开始搞)
  3. 过程:该Linux自带python 3.4,由于环境需要,直接源码安装python 3.6.4 ,之后git 代码,安装虚拟环境,以及所需模块,一切顺利,启动,报错No module named _bz2
  4. 原因:pandas模块需要bz2的支持,而后来安装的python 3.6.4的版本不存在该文件,导致报错找不到该模块,模块名称是_bz2.cpython-36m-x86_64-linux-gnu.so
  5. 解决方法:由于该Linux自带python3.4所以我直接拿该版本的给3.6.4的版本用(需要改名)在下面目录下:/usr/lib64/python3.4/lib-dynload/_bz2.cpython-34m.so

        将该文件复制到源码安装的python 3.6.4的相应目录下:

/usr/local/python3/lib/python3.6/lib-dynload/(这和我的安装路径有关系)并将名称改过来即可

注意:如果按照上述方式改完名,依然不行,注意你改的名字是否与该目录下其他so文件格式相同,若不同,请修改为相同样式,应该能解决你的问题,我目前所知,3.4和3.6的命名格式就不同。

你可能感兴趣的:(Python后端,linux,运维,服务器)