python - 缺少 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

最佳答案

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

在 Ubuntu/Debian 上安装它们:

sudo apt-get install libbz2-dev

Fedora:

sudo yum install bzip2-devel 

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

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

https://stackoverflow.com/questions/12806122/

相关文章:

python - 我如何从 Ubuntu 上的源代码自己构建 python?

linux - 顶部的进程命令

linux - i386 输入文件架构与 i386 不兼容 :x86-64

linux - 打印当前一周的星期一的日期(在 bash 中)

linux - 获取变量中的当前路径并使用它

linux - 如何仅使用 SED 获得第二行

linux - 如何从 Bash 中对包含公共(public)前缀和后缀的字符串进行数字排序?

ruby - 在本地文件夹中安装 gem

linux - 如何递归列出所有文件和目录

linux - 如何确认 RedHat Enterprise Linux 版本?