Debug support under PyCharm?


#1

I’m looking to move from Celery, and came across Dramatiq which looks very interesting. One question not covered in the Motivation or elsewhere I could find is whether Dramatiq lends itself to debugging under something like PyCharm. This has been a problem for us under Celery because (as far as my limited knowledge goes) Celery uses its own Billiard layer rather than, for example, python Multiprocessing for which PyCharm has support [1].

I infer from this that Dramatiq also does not use Multiprocessing but the native os facilities. Is it known whether PyCharm breakpoints for example can be made to work “naturally” with Dramatiq?

In case it make a difference, I’m interested in Linux and Mac support.

Thanks, Shaheed

[1] I’m aware of historical workarounds like this. Even if that still worked, it seems clumsy.


#2

I don’t use PyCharm, but it would be odd for them not to support forked processes (and support multiprocessing) but I may be missing something. At any rate, dramatiq will switch to using multiprocessing soon.


#3

Thanks.

I’m an idiot in that I mentioned PyCharm support for multiprocessing - that should have been a reference to this thread which is actually about coverage.py, not PyCharm: https://github.com/elyezer/coveragepy/commit/fa2a94dccb34b017035ccb819b037cab88ff492f.

For clarity, PyCharm allows one to set breakpoints in subprocesses, or manually attach to remote processes. The latter is the closest it gets to support for multiprocessing.