PyCharm 2023.1 Help

Python Debugger

Use this page to configure Python debug options.

Item

Description

Attach to subprocess automatically while debugging

If this checkbox is selected, PyCharm will automatically attach all subprocesses of the process being debugged. Thus, if the parent process has subprocesses, their breakpoints will always work.

Collect runtime types information for code insight

If this checkbox is selected, the types of function calls are preserved during debugging, and passed to the type checker. Refer to the section Specify types with docstrings for details.

Clear caches

Click this button to remove information about the types of arguments, collected at run time.

Gevent compatible

If this checkbox is selected, the debugger will be compatible with the Gevent-monkeypatched code. You can also enable the Gevent support by setting GEVENT_SUPPORT=True environment variable.

PyQt compatible

If PyQt is installed on the interpreter, but is not imported in the application code, some import errors may occur. Deselect this option fixes these errors.

If you have multiple PyQt compatible backends, installed on your interpreter, you have to select the PyQt or PySide2 backend from the list. By default, the Auto option is enabled, which means that the backend first found will be used.

For Attach to Process show process with names containing:

A string pattern specified in this field will be used to show processes in the Attach to Process list. The default pattern is "python".

Note that the debugger contains speedup modules, which use Cython and are generated with a few changes in the regular files to cythonize the files. The Cython speedups are available for CPython versions 2.7 and 3.5 - 3.8.

  • On Windows the compiled Cython extensions are bundled with PyCharm.

  • On Linux and macOS, Cython extensions should be compiled manually in one in two possible ways:

    • by clicking the link that appears in the warning after the first debugger launch.

    • by running the command from the warning manually in the terminal. A separate Cython extension should be compiled for each version of Python interpreter.

    If someone doesn't want to use Cython extensions, the environment variable PYDEVD_USE_CYTHON=NO should be passed.

Last modified: 21 June 2023