无法在Python

时间:2016-06-13 15:07:21

标签: python-2.7 shared-libraries bz2

我正在尝试将共享对象导入到我的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中。

有关我无法导入此共享对象的原因的任何见解?谢谢!

1 个答案:

答案 0 :(得分:0)

bz2.so是共享对象,它为python模块提供了bzip功能(用C语言编写)。当你导入bz2时,你不直接导入它,你实际上导入一个名为bz2的python模块,然后使用.so文件。

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

你没有说你正在使用哪个linux,但是一般模式是在包管理器中查找bzip2 dev或devel包并安装它们。