web-dev-qa-db-ja.com

Pythonのbz2モジュールはデフォルトでコンパイルされていません

Python 2.6.1はデフォルトでソースからbz2ライブラリをコンパイルしないようです。

Lib-dynload/bz2.soを持っていません

(Pythonを最初からインストールせずに)追加する最も簡単な方法は何ですか?

OSは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フラグのみを使用しました。

27
Piotr Byzia

Pythonが独自のインターフェースを構築できるようにするには、まずlibbz2.so(汎用libbz2ライブラリ)を適切にインストールする必要があります。これは通常、Linuxディストリビューションのパッケージからのものです)パッケージ名に「libbz2」と「dev」を含める。

32
Alex Martelli

ベンダーのパッケージ管理を使用して、bz2の開発ファイルを含むパッケージを追加します。通常は「libbz2-dev」というパッケージです。例えば。 Ubuntuで

Sudo apt-get install libbz2-dev

24
user95975

この問題には2つの解決策があります。

オプション1. bzip2-develをインストールする

Debianおよび派生物では、次のように簡単にインストールできます。

Sudo apt-get install bzip2-devel

オプション2. bzip2をビルドしてインストールする

README bzip2パッケージ のファイル)では、特定のプラットフォーム、つまり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
17
Richard Gomes

Pythonをコンパイルしようとしている場合、パッケージはbzip2-develと呼ばれます。RHNが設定されている場合は、次のコマンドでインストールできます。

yum install bzip2-devel

これが完了すると、--enable-bz2または--with-bz2オプションのいずれも必要なくなりますが、--enable-sharedが必要になる場合があります。

8
Eric