我正在尝试在我的系统上安装LLDB-3.5,并且我在加载python2.7绑定模块时非常困难。
该模块具有通常的结构
/ LLDB
+ __init__.py
+ some_file.py
+ _lldb.so
/ subdirectory
我已经验证模块的路径是PYTHONPATH。我已经检查了sys.path的结果,它在那里,我可以直接导入some_file.py
import some_file # This line compiles happily.
奇怪的是,我也可以导入 init .py
import __init__ # This line complains its missing module lldb.some_file
我确实安装了lldb-3.4,但是如果我在该文件中添加了一个print语句,它会显示出来,所以我肯定会看到这个文件。
然而,当我尝试导入lldb时,我回来了
import lldb # ImportError: No module named lldb
我不明白。
它是LLDB的swig's Python包装器,但我已经验证了.so加载。呼叫" ldd _lldb.so"在命令行上显示已解析的依赖项的良好列表。如果我在python shell中运行 init .py中的命令(即调用imp.find_module& imp.load_module),那么so文件就会很快加载。
我确定这是一个非常基本的问题,但我并没有太多使用Python。我已经安装了使用Python 2.6的virtualenv,但我当然已经在正确的Python版本中验证了我。
答案 0 :(得分:3)
lldb目录本身是否在路径上?对于包,您应该在sys.path上包含其包含目录(lldb
的父目录)。
(通常情况下,我希望软件包安装能够为您完成此操作。但是,this page末尾的注释表明他们正在针对您使用Python {{1}的用例来自lldb
命令行程序的模块。所以你必须手动设置路径。)