我很难找到关于此问题的好文档,甚至无法确认LLDB是否应该与Python 3一起使用(请参阅LLDB-Python参考)。
当尝试以下方式加载它时:
import sys
sys.path.append('/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python')
import lldb
这个代码可以在 Python 2(具体来说是 2.7)中运行,但在 Python 3(具体来说是 3.6)中会出现错误(完整的堆栈跟踪请见文末):
ImportError: dynamic module does not define module export function (PyInit__lldb)
有什么办法可以在Python 3中导入lldb吗?
全栈:
ImportError Traceback (most recent call last)
<ipython-input-3-2a8839b33e40> in <module>()
----> 1 import lldb
/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python/lldb/__init__.py in <module>()
48 fp.close()
49 return _mod
---> 50 _lldb = swig_import_helper()
51 del swig_import_helper
52 else:
/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python/lldb/__init__.py in swig_import_helper()
44 if fp is not None:
45 try:
---> 46 _mod = imp.load_module('_lldb', fp, pathname, description)
47 finally:
48 fp.close()
~/Virtualenvs/py36/lib/python3.6/imp.py in load_module(name, file, filename, details)
240 return load_dynamic(name, filename, opened_file)
241 else:
--> 242 return load_dynamic(name, filename, file)
243 elif type_ == PKG_DIRECTORY:
244 return load_package(name, filename)
~/Virtualenvs/py36/lib/python3.6/imp.py in load_dynamic(name, path, file)
340 spec = importlib.machinery.ModuleSpec(
341 name=name, loader=loader, origin=path)
--> 342 return _load(spec)
343
344 else:
ImportError: dynamic module does not define module export function (PyInit__lldb)
pip3 search lldb
没有明显的结果。 - rustyMagnet/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/
里面有一个名为python3
的文件夹。 - rustyMagnetPyCharm
使其正常工作:https://stackoverflow.com/questions/59591466/how-to-import-lldb-module-for-python-on-mac/64496558#64496558 - rustyMagnet