[Lldb-commits] [PATCH] D70252: [Docs] Add Python caveats under the development section

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 18 09:20:52 PST 2019

This revision was automatically updated to reflect the committed changes.
Closed by commit rG0aed64864977: [Docs] Add Python caveats under the development section (authored by JDevlieghere).

  rG LLVM Github Monorepo




Index: lldb/docs/resources/caveats.rst
--- /dev/null
+++ lldb/docs/resources/caveats.rst
@@ -0,0 +1,37 @@
+.. contents::
+   :local:
+.. _python_caveat:
+LLDB has a powerful scripting interface which is accessible through Python.
+Python is available either from withing LLDB through a (interactive) script
+interpreter, or as a Python module which you can import from the Python
+To make this possible, LLDB links against the Python shared library. Linking
+against Python comes with some constraints to be aware of.
+1.  It is not possible to build and link LLDB against a Python 3 library and
+    use it from Python 2 and vice versa.
+2.  It is not possible to build and link LLDB against one distribution on
+    Python and use it through a interpreter coming from another distribution.
+    For example, on macOS, if you build and link against Python from
+    python.org, you cannot import the lldb module from the Python interpreter
+    installed with Homebrew.
+3.  To use third party Python packages from inside LLDB, you need to install
+    them using a utility (such as ``pip``) from the same Python distribution as
+    the one used to build and link LLDB.
+The previous considerations are especially important during development, but
+apply to binary distributions of LLDB as well. For example, the LLDB that comes
+with Xcode links against the Python 3 that's part of Xcode. Therefore you
+should always use the Python in Xcode (through ``xcrun python3`` or
+``/usr/bin/python3``) to import the lldb module or install packages.
Index: lldb/docs/resources/build.rst
--- lldb/docs/resources/build.rst
+++ lldb/docs/resources/build.rst
@@ -533,6 +533,11 @@
   > python -c 'import lldb'
+Make sure you're using the Python interpreter that matches the Python library
+you linked against. For more details please refer to the :ref:`caveats
 .. _CodeSigning:
 Code Signing on macOS
Index: lldb/docs/index.rst
--- lldb/docs/index.rst
+++ lldb/docs/index.rst
@@ -144,6 +144,7 @@
+   resources/caveats
 .. toctree::

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70252.229868.patch
Type: text/x-patch
Size: 2395 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191118/0e598128/attachment.bin>

More information about the lldb-commits mailing list