【问题标题】:Python's bz2 module not compiled by defaultPython 的 bz2 模块默认不编译
【发布时间】:2009-05-01 19:03:50
【问题描述】:

看来Python 2.6.1默认不从源码编译bz2库。

我没有 lib-dynload/bz2.so

添加它的最快方法是什么(无需从头开始安装 Python)?

操作系统是 Linux 2.4.32-grsec+f6b+gr217+nfs+a32+fuse23+tg+++opt+c8+gr2b-v6.194 #1 SMP Tue Jun 6 15:52:09 PDT 2006 i686 GNU /Linux

IIRC 我只使用了 --prefix 标志。

【问题讨论】:

标签: python c compiler-construction


【解决方案1】:

您需要首先正确安装 libbz2.so(通用 libbz2 库),以便 Python 能够为其构建自己的接口。这通常来自您的 Linux 发行版中的一个包,包名中可能包含“libbz2”和“dev”。

【讨论】:

  • bzip2bzip2-devel 在像 Centos 这样的发行版上使用 Yum。
  • Debian 包名为:libbz2-dev
【解决方案2】:

使用供应商的包管理添加包含 bz2 开发文件的包。它通常是一个名为“libbz2-dev”的包。例如。在 Ubuntu 上

sudo apt-get install libbz2-dev

【讨论】:

    【解决方案3】:

    这个问题有两种解决方案:

    选项 1. 安装 bzip2-devel

    在 Debian 及其衍生版本上,您可以像这样轻松安装:

    sudo apt-get install bzip2-devel
    

    选项 2. 构建和安装 bzip2

    bzip2 package的README文件中解释说,在某些平台下,即使用Linux-ELF二进制文件的平台下,你必须构建一个额外的共享对象文件,如下所示:

    wget http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz
    tar xpzf bzip2-1.0.6.tar.gz
    cd bzip2-1.0.6
    make
    make -f Makefile-libbz2_so
    make install PREFIX=/path/to/local # /usr/local by default
    

    这里的关键是以下命令:

    make -f Makefile-libbz2_so
    

    我已经这样做了,然后尝试再次构建 Python,如下所示:

    cd Python-2.7.3
    ./configure --prefix=/path/to/local 
    make install
    

    【讨论】:

    • 自述文件说 make -f Makefile-libbz2_so 而不是 make -f Makefile_libbz2_so
    • 找不到包 bzip2-devel(挤压)
    • @chovy: "apt-cache search bzip | fgrep dev"。你可以试试“libbz2-dev”
    • 这里有个bug,如果你已经运行过make,在尝试make -f Makefile-libbz2_so之前需要运行make clean
    • @hlin117 -fPIC 是编译器的标志,而不是 make 的选项。您必须将其作为环境变量传递,如下所示:make -f Makefile-libbz2_so CFLAGS="-fPIC"
    【解决方案4】:

    如果您碰巧尝试在 RHEL5 上编译 Python,则该软件包称为 bzip2-devel,如果您设置了 RHN,则可以使用以下命令安装它:

    yum 安装 bzip2-devel

    完成后,您不需要 --enable-bz2 或 --with-bz2 选项中的任何一个,但您可能需要 --enable-shared。

    【讨论】:

      猜你喜欢
      • 2012-09-30
      • 2013-07-10
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多