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 模块提供 bzip 功能(用 C 语言编写)的共享对象。当你做 import bz2 时,你不会直接导入它,你实际上是在导入一个名为 bz2 的 python 模块,然后使用 .so 文件。

这通常意味着您没有安装 bzip 库的开发版本,或者您没有为 pip 安装程序设置 ac 编译器来为您构建它。

您没有说您使用的是哪个 linux,但一般模式是在包管理器中查找 bzip2 开发或开发包并安装它们。

于 2016-06-13T15:18:47.360 回答