Python3 | no module named'_bz2'

Ubuntu 环境下 Python3 解决 modulenotfounderror: no module named '_bz2'

Posted by Haauleon on July 31, 2023

异常信息

python3.9.15 调用 pandas 遇到错误提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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'

这是因为从终端安装 python3 版本时,最新版本的 python3.9+ 缺少这个文件。需要手动添加。



异常解决

1、在终端执行以下命令

1
$ sudo apt-get install libbz2-dev

2、然后进入 Python3 的安装目录,重新编译 Python3

1
2
3
4
$ cd Python-3.9.15
$ sudo ./configure --enable-optimozations
$ sudo make -j8
$ sudo make install

3、验证方法就是进入 python3 环境,看是否能导入 bz2 模块

1
2
$ python3
>>> import bz2




相关链接:
Ubuntu下Python3解决modulenotfounderror: no module named ‘_bz2’