A Minimal Python Install for LLDB

Using the stable API is a prerequisite for being able to import lldb in a Python interpreter that does not match the exact version LLDB was built against. This is a pilkar of the proposed hybrid approach.

The issue is still open because:

  1. We still use two non-stable APIs, though they’re guarded by a define.
  2. This requires SWIG 4.1 while the official minimum SWIG version is 4.0 and not everyone is ready to upgrade yet.

Using the stable API is a prerequisite, but it seems like there’s at least a little bit more work to be done. When I tried importing LLDB, built against the stable API, in a different Python I hit an import error.

Yes, in the sense that a user wouldn’t have to, unless they want to import a third party package in their LLDB script, or import LLDB into their external script (which requires an Python interpreter anyway). But if we found the a full Python installation, we would prefer it.

Yep, that’s a great summary!

I think that’s a good idea to improve the user experience and given we have a lot of control over the embedded interpreter, that sounds feasible.