缺少 python bz2 模块

新手上路,请多包涵

我已经安装在我的主目录中。

 [spatel@~ dev1]$ /home/spatel/python-2.7.3/bin/python -V
Python 2.7.3

我正在尝试运行一个需要 python 2.7.x 版本的脚本,但我缺少 bz2 错误

[spatel@~ dev1]$ ./import_logs.py
Traceback (most recent call last):
  File "./import_logs.py", line 13, in <module>
    import bz2
ImportError: No module named bz2

我尝试安装 bz2 模块,但出现很多错误

 [spatel@dev1 python-bz2-1.1]$ /home/spatel/python-2.7.3/bin/python setup.py install
    ...
    ...
    ...
    bz2.c:1765: error: âBZ_FINISH_OKâ undeclared (first use in this function)
    bz2.c:1765: warning: comparison between pointer and integer
    bz2.c:1771: error: âPyMemberDefâ has no member named âavail_outâ
    bz2.c:1778: error: âPyMemberDefâ has no member named ânext_outâ
    bz2.c:1778: error: âPyMemberDefâ has no member named âtotal_out_hi32â
    bz2.c:1778: error: âPyMemberDefâ has no member named âtotal_out_lo32â
    bz2.c:1778: error: invalid operands to binary +
    bz2.c:1778: warning: statement with no effect
    bz2.c:1779: error: âPyMemberDefâ has no member named âavail_outâ
    bz2.c:1779: error: âPyMemberDefâ has no member named ânext_outâ
    bz2.c:1779: error: invalid operands to binary -
    bz2.c:1779: error: invalid operands to binary -
    bz2.c:1779: warning: statement with no effect
    bz2.c:1783: error: âPyMemberDefâ has no member named âavail_outâ
    bz2.c:1784: error: âPyMemberDefâ has no member named âtotal_out_hi32â
    bz2.c:1784: error: âPyMemberDefâ has no member named âtotal_out_lo32â
    bz2.c:1784: warning: passing argument 2 of â_PyString_Resizeâ makes integer from pointer without a cast
    error: command 'gcc' failed with exit status 1

原文由 Satish 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 998
2 个回答

可能当您从源代码构建 python 时,您没有 bz2 标头。

在 Ubuntu/Debian 上安装它们:

 sudo apt-get install libbz2-dev

软呢帽:

 sudo yum install bzip2-devel

并再次构建python。您可能会注意到,python 在配置/构建时会检查很多库,如果您错过了其中的一些,您可能不会在您的案例中获得对 bz2 等库的支持。

您应该获得预构建二进制文件以避免这种情况。 Ubuntu 12.04 打包 python 2.7.3 ,你的脚本需要的版本。

原文由 jviotti 发布,翻译遵循 CC BY-SA 3.0 许可协议

导入熊猫时,python 3.8.2 发生了这种情况: import pandas as pd

导致一条长错误消息结尾:“错误:ModuleNotFoundError:没有名为’_bz2’的模块”

通过执行以下 2 个 bash 命令解决了这个问题:

 sudo apt-get install libbz2-dev
sudo cp /usr/lib/python3.8/lib-dynload/_bz2.cpython-38-x86_64-linux-gnu.so  /usr/local/lib/python3.8/

然后它工作得很好。

原文由 BryanMinorPhD 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题