Caveats
=======

.. contents::
   :local:

.. _python_caveat:

Python
------

LLDB has a powerful scripting interface which is accessible through Python.
Python is available either from within LLDB through a (interactive) script
interpreter, or as a Python module which you can import from the Python
interpreter.

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 an 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.

LLDB in Xcode on macOS
``````````````````````

Users of lldb in Xcode on macOS commonly run into these issues when they
install Python, often unknowingly as a dependency pulled in by Homebrew or
other package managers. The problem is the symlinks that get created in
``/usr/local/bin``, which comes before ``/usr/bin`` in your path. You can use
``which python3`` to check to what it resolves.

To be sure you use the Python that matches with the lldb in Xcode use ``xcrun``
or use the absolute path to the shims in ``/usr/bin``.

::

   $ xcrun python3
   $ /usr/bin/python3

Similarly, to install packages and be able to use them from within lldb, you'll
need to install them with the matching ``pip3``.

::

   $ xcrun pip3
   $ /usr/bin/pip3

The same is true for Python 2. Although Python 2 comes with the operating
system rather than Xcode, you can still use ``xcrun`` to launch the system
variant.

::

   $ xcrun python
   $ /usr/bin/python

Keep in mind that Python 2 is deprecated and no longer maintained. Future
versions of macOS will not include Python 2.7.
