Pyenv的python缺少bzip2模块

问题描述 投票:1回答:1

我使用pyenv安装python 3.8.2并创建了virtualenv。在virtualenv中,我使用pipenv安装了pandas

但是,当导入大熊猫时,我得到以下信息:

  [...]
  File "/home/luislhl/.pyenv/versions/poc-prefect/lib/python3.8/site-packages/pandas/io/common.py", line 3, in <module>
    import bz2
  File "/home/luislhl/.pyenv/versions/3.8.2/lib/python3.8/bz2.py", line 19, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'

经过一些搜索之后,我发现有人建议我在系统中安装bzip2库后从源代码重新构建Python。

但是,尝试用sudo dnf install bzip2-devel安装它后,我已经安装了它。

据我所知,pyenv在安装某些版本时从源代码构建python。那么,为什么在构建时它不能包含bzip2模块呢?

我如何设法使用pyenv重建Python以使bzip2可用?我在Fedora 30中

提前感谢

UPDATE我尝试在详细模式下使用pyenv安装另一个版本的python,以查看编译输出。

编译结束时有此消息:

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

但是正如我之前所说,我检查了系统中已经安装了bzip2。所以我不知道该怎么办。

python pyenv bzip2
1个回答
0
投票

好吧,一段时间后我找到了解决方案。这很简单,但是我花了一些时间才意识到。

结果是我安装的bzip2-devel是32位版本。

编译过程正在寻找64位版本,但没有找到。因此,我必须专门安装64位版本:

sudo dnf install bzip2-devel-1.0.6-29.fc30.x86_64
© www.soinside.com 2019 - 2024. All rights reserved.