No module named _bz2

本文介绍了在SUSE12SP3环境下,使用python3.6.4进行开发时遇到_pandas_bz2_模块缺失的问题。在尝试启动时,由于pandas依赖bz2支持,但新安装的Python版本缺少相应文件。解决方案是复制Linux自带python3.4的_bz2模块到python3.6.4的lib-dynload目录并重命名,确保与其它SO文件格式一致,从而成功解决报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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的命名格式就不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值