我正在尝试将共享对象导入到我的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中。
有关我无法导入此共享对象的原因的任何见解?谢谢!
答案 0 :(得分:0)
bz2.so是共享对象,它为python模块提供了bzip功能(用C语言编写)。当你导入bz2时,你不直接导入它,你实际上导入一个名为bz2的python模块,然后使用.so文件。
这通常意味着您没有安装bzip库的开发版本,或者您没有用于pip安装程序的c编译器设置来为您构建它。
你没有说你正在使用哪个linux,但是一般模式是在包管理器中查找bzip2 dev或devel包并安装它们。