0

次のように、共有オブジェクトを Python コードにインポートしようとしています。

import bz2

次のエラーが表示されます。

ImportError: ./bz2.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

imp モジュールを使用して、Python が実際にそれを見つけられることを確認できます。

>>> import imp
>>> imp.find_module('bz2')
(<open file 'bz2.so', mode 'rb' at 0xb6f085f8>, 'bz2.so', ('.so', 'rb', 3))

共有オブジェクト ファイルは PYTHONPATH と LD_LIBRARY_PATH にあります。

この共有オブジェクトをインポートできない理由についての洞察はありますか? ありがとう!

4

1 に答える 1

0

bz2.so は、Python モジュールに (C で記述された) bzip 機能を提供する共有オブジェクトです。import bz2 を実行するときに直接インポートしないでください。実際には、.so ファイルを使用する bz2 という python モジュールをインポートしています。

これは通常、bzip ライブラリの開発バージョンがインストールされていないか、pip インストーラーがこれをビルドするために使用する ac コンパイラーがセットアップされていないことを意味します。

どの Linux を使用しているかはわかりませんが、一般的なパターンは、パッケージ マネージャーで bzip2 dev または devel パッケージを探してインストールすることです。

于 2016-06-13T15:18:47.360 に答える