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. For more information, refer to Specify types with docstrings. |
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 |
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. |
Run debugger in server mode | If this checkbox is selected, the debugger will operate in server mode and you will be able to specify the debugger port. Use the Debugger port spin box to set the port number through which all the communication between the IDE and the debugger will occur. |
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.