Use this page to configure Python debug options.
|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 run-time 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 Using Docstrings to Specify Types 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.|
|PyQt compatible||If PyQt is installed on the interpreter, but is not imported in the application code, some import errors may occur. Unchecking this option fixes these errors. |
If you have multiple PyQt backends, installed on your interpreter, you have to select the PyQt backend from the drop-down 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, 3.4 and 3.5.
- On Windows the compiled Cython extensions are bundled with PyCharm.
- On Linux and Mac OS, 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 for some reasons, the environment variable
PYDEVD_USE_CYTHON=NOshould be passed.