Latest 3.x
version: the PyDev debugger now supports sys.monitoring
which enables
really fast tracing on Python 3.12
(so, if speed is an issue, make sure you upgrade).
https://github.com/fabioz/PyDev.Debugger is the main repository
for pydevd
and the latest versions can always be used directly in:
-
PyDev for Eclipse: Enables the usage of
pydevd
in Eclipse (Open Source). -
Python Debugger (PyDev) for VSCode: Enables the usage of
pydevd
in VSCode (note that whilepydevd
itself is open source, this extension is commercial and helps in the development of the Open Source version. It has a free trial and can be used by acquiring a license forPyDev for VSCode
at: https://www.pydev.org/vscode/index.html).Note that the
Python Debugger (PyDev) for VSCode
may be used as a standalane extension for debuggingPython
by creating the proper configuration in alaunch.json
and launching it.Alternatively, PyDev for VSCode leverages it to offer additional features such as debugging of test cases.
The PyDev Debugger
(pydevd
for short) is a Python debugger which historically was created to
work with PyDev
(in Eclipse).
Over the years (as it's open source -- EPL) it was adopted by other IDEs/companies
(so, it was integrated into PyCharm and VSCode Python through debugpy
, which also bundles pydevd
).
Note that although it was adopted by other IDEs (and over the years companies of other commercial IDEs did provide backing), by far most of the work was done without any external backing and the ongoing work on the project relies on community support.
So, if you like using it, please consider becoming a backer of the project (this is
done through the PyDev
umbrella, so please see https://www.pydev.org/about.html
for how to contribute to the project).
The sources for the PyDev.Debugger may be seen at:
https://github.com/fabioz/PyDev.Debugger
In general, the debugger backend should NOT be installed separately if you're using an IDE which already
bundles it (such as PyDev for Eclipse, Python Debugger (PyDev) for VSCode,
PyCharm or the Microsoft Python VSCode Extension, which uses debugpy
, which is another debug adapter bundling pydevd
to be used in the Microsoft
VSCode Python Extension and Visual Studio Python).
It is however available in PyPi so that it can be installed for doing remote debugging with pip
-- so, when
debugging a process which runs in another machine, it's possible to pip install pydevd
and in the code use
pydevd.settrace(host="10.1.1.1")
(in PyDev) or pydevd.settrace(host="10.1.1.1", protocol="dap")
(in PyDev for VSCode)
to connect the debugger backend to the debugger UI running in the IDE
(whereas previously the sources had to be manually copied from the IDE installation).
For instructions on how to Remote Debug
with PyDev
, see: https://www.pydev.org/manual_adv_remote_debugger.html
For instructions on how to Remote Debug
with PyDev for VSCode
, see: https://marketplace.visualstudio.com/items?itemName=fabioz.vscode-pydev-python-debugger
pydevd
is compatible with Python 3.8 onwards and is tested both with CPython as well as PyPy.
For Python 3.3 to 3.7
please keep using pydevd 2.10.0
.
For Python 2
please keep using pydevd 2.8.0
.
Recent versions contain speedup modules using Cython, which are generated with a few changes in the regular files
to cythonize
the files. To update and compile the cython sources (and generate some other auto-generated files),
build_tools/build.py
should be run -- note that the resulting .pyx and .c files should be commited.