ModuleNotFoundError: No module named ‘_bz2‘

记录一个可能会再次遇到又容易忘记的灯下黑的问题备查,以免以后再遇到浪费时间。

安装模型的支持环境时可能有时会遇到ModuleNotFoundError: No module named '_bz2'这样问题,比如说yolov5第六版的export脚本所需的pandas包就需要bzip2的支持,可能会报下面这样的错误:

Traceback (most recent call last):
  File "export.py", line 40, in <module>
    from models.common import Conv
  File "/workspace/yolov5-v6/models/common.py", line 13, in <module>
    import pandas as pd
  File "/usr/local/lib/python3.6/site-packages/pandas/__init__.py", line 52, in <module>
    from pandas.core.api import (
  File "/usr/local/lib/python3.6/site-packages/pandas/core/api.py", line 29, in <module>
    from pandas.core.groupby import Grouper, NamedAgg
  File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
    from pandas.core.groupby.generic import DataFrameGroupBy, NamedAgg, SeriesGroupBy
  File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby/generic.py", line 57, in <module>
    from pandas.core.aggregation import (
  File "/usr/local/lib/python3.6/site-packages/pandas/core/aggregation.py", line 27, in <module>
    from pandas.core.series import FrameOrSeriesUnion, Series
  File "/usr/local/lib/python3.6/site-packages/pandas/core/series.py", line 68, in <module>
    from pandas.core import algorithms, base, generic, nanops, ops
  File "/usr/local/lib/python3.6/site-packages/pandas/core/generic.py", line 102, in <module>
    from pandas.io.formats import format as fmt
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/format.py", line 71, in <module>
    from pandas.io.common import stringify_path
  File "/usr/local/lib/python3.6/site-packages/pandas/io/common.py", line 3, in <module>
    import bz2
  File "/usr/local/lib/python3.6/bz2.py", line 23, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'

这时去安装bzip2,却发现bzip2已经安装了:

 查对应的so文件也确实存在:

/usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so

怎么就是报错呢?开始没仔细看环境,没注意看所执行的python所在的路径,以为是bzip2版本不对,就匆忙去下载bzip2的源码进行编译和安装,结果装完发现还是报上面的错,郁闷一阵后再仔细看一下恍然大悟,原来我的环境里安装了多个python,执行脚本里使用的python是使用的手工安装在/usr/local/bin/python而不是默认的/usr/bin/python,这样的话,创建个链接把那个so挂到/usr/local/开头的路径下去就行了:

ln -s /usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so  /usr/local/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so

另外,注意在arm64环境下因为平台不同名字稍有差异,对应的so是 /usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-aarch64-linux-gnu.so

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
回答: 出现"ModuleNotFoundError: No module named _bz2"的错误是因为在使用Python时找不到_bz2模块。解决这个问题的方法有几种。一种方法是根据\[1\]的建议,需要在本地编译生成_bz2模块。另一种方法是根据\[2\]的建议,将Python3.6中的_bz2库拷贝到Python3.7下。还有一种可能是因为执行脚本时使用的Python路径不正确,可以根据\[3\]的建议创建一个链接将_bz2模块挂载到正确的路径下。具体操作可以参考上述引用内容中提供的链接和命令。 #### 引用[.reference_title] - *1* [ModuleNotFoundError: No module named _bz2](https://blog.csdn.net/weixin_42587961/article/details/105779549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ModuleNotFoundError: No module named ‘_bz2‘问题解决](https://blog.csdn.net/u013685264/article/details/108274609)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ModuleNotFoundError: No module named ‘_bz2](https://blog.csdn.net/XCCCCZ/article/details/125646722)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arnold-FY-Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值