python3中没有名为“_bz2”的模块

xeufq47z  于 2023-02-26  发布在  Python
关注(0)|答案(5)|浏览(468)

尝试执行以下命令时:
导入matplotlib.pyplot作为plt
出现以下错误:
从_bz2导入BZ2压缩器、BZ2解压缩器导入错误:没有名为"_bz2"的模块
因此,我尝试使用以下命令在Ubuntu中安装bzip2模块:
安装bzip2
但是,终端中弹出以下语句:
找不到满足要求bzip2的版本(来自版本:)未找到bzip2的匹配分发
我能做些什么来解决这个问题?

yshpjwxd

yshpjwxd1#

如果你自己编译python,你需要先安装libbz2头文件和.so文件,这样python编译时就支持bz2。
在ubuntu上,apt-get install libbz2-dev然后编译python。

jgovgodb

jgovgodb2#

我发现了这些问题的模式。
如果你缺少开发工具和其他对编译代码和安装python很重要的库,这种情况就会发生。
对我来说,大多数步骤都不起作用,但我必须做以下几件事:

  • 删除我的python安装

pyenv uninstall python_version.

  • 然后安装所有的构建工具,确保没有遗漏任何工具

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

  • 重新安装新的python版本

pyenv install python_version.
希望这能解决你的问题。

ltskdhd1

ltskdhd13#

在我的例子中,我在导入Pandas时遇到了这个错误,安装Python 3.9后解决了这个问题。
我的Python版本是3.8.6,我使用的是Pyenv,运行的是MacOS Big Sur。
错误

$ python
Python 3.8.6 (default, Nov 21 2020, 02:39:42)
[Clang 12.0.0 (clang-1200.0.32.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
...
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'

已安装3.9.1

$ pyenv install --list
$ pyenv install 3.9.1
$ pyenv local 3.9.1
$ pyenv global 3.9.1
$ pip install pandas

又来了

$  python
Python 3.9.1 (default, Jul  5 2021, 22:26:09)
[Clang 12.0.5 (clang-1205.0.22.11)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>>
unhi4e5o

unhi4e5o4#

最后,我用python3.9修正了这个问题,当所有的东西都不能工作时,
1.我们可以下载文件:_bz2.cpython-38-x86_64-linux-gnu.so。
downloads this file: https://pan.baidu.com/s/1iPuEBYnUABWf94QM9fQZgQ 提取码: nw2g
1.然后重命名文件因为我使用python3.9,这个文件是python3.8:
cp _bz2.cpython-38-x86_64-linux-gnu.so /usr/local/python3/lib/python3.9/lib-dynload/
1.如果不起作用,请修改文件权限
chmod +x_bz2.cpython-38-x86_64-linux-gnu.so语言
1.如果它报告ImportError: libbz2.so.1.0: cannot open shared object file: No such file or directory,我们应该确保安装了bzip。用途:yum install -y bzip2*.然后执行ln -s /usr/lib64/libbz2.so.1 /usr/lib64/libbz2.so.1.0.执行python3 -c 'import _bz2',它可以正常工作!!!
我从https://www.jianshu.com/p/b722adc2ba52开始搜索。

kb5ga3dv

kb5ga3dv5#

使用pyenv

sudo apt-get install libbz2-dev
python --version
pyenv install version

相关问题