当前位置:  开发笔记 > 编程语言 > 正文

Python的bz2模块默认不编译

如何解决《Python的bz2模块默认不编译》经验,为你挑选了4个好方法。

似乎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标志.



1> Alex Martell..:

首先需要正确安装libbz2.so(通用libbz2库),以便Python能够构建自己的接口.这通常来自Linux发行版中的软件包可能在软件包名称中包含"libbz2"和"dev".


在像Centos这样的发行版上使用Yum时,`bzip2`和`bzip2-devel`.

2> 小智..:

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

sudo apt-get install libbz2-dev



3> Richard Gome..:

这种麻烦有两种解决方案:

选项1.安装bzip2-devel

在Debian和衍生品上,您可以像这样轻松安装:

sudo apt-get install bzip2-devel

选项2.构建并安装bzip2

在bzip2包的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`,则在尝试`make -f Makefile-libbz2_so`之前必须运行`make clean`.

4> Eric..:

如果您正在尝试在RHEL5上编译Python,则该包称为bzip2-devel,如果您已设置RHN,则可以使用以下命令进行安装:

yum install bzip2-devel

完成后,您不需要--enable-bz2或--with-bz2选项,但您可能需要--enable-shared.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有