尝试执行以下命令时:
将matplotlib.pyplot导入为plt
发生以下错误:
来自_bz2 import BZ2Compressor,BZ2Decompressor ImportError:没有模块 命名为' _bz2'
所以,我试图使用以下方法在 Ubuntu 中安装 bzip2 模块:
sudo pip3 install bzip2
但是,终端中会弹出以下语句:
无法找到满足要求bzip2的版本(来自 版本:)没有找到bzip2
的匹配分布
我该怎么做才能解决问题?
答案 0 :(得分:1)
就我而言,我在导入 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
>>>
答案 1 :(得分:0)
如果您自己编译python,则需要先安装libbz2标头和.so文件,以便python在bz2支持下进行编译。
在ubuntu上,apt-get install libbz2-dev
然后编译python。
答案 2 :(得分:0)
最后,我用python3.9在centos中解决了这个问题,当一切都无法工作时,
下载这个文件:https://pan.baidu.com/s/1iPuEBYnUABWf94QM9fQZgQ提取码:nw2g
然后重命名文件,因为我使用的是python3.9,这个文件是python3.8:
cp _bz2.cpython-38-x86_64-linux-gnu.so /usr/local/python3/lib/python3.9/lib-dynload/
如果不起作用,请修改文件权限
chmod +x _bz2.cpython-38-x86_64-linux-gnu.so
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'
,可以正常工作!!!