Pycharm logo

The PyCharm Blog

The Python IDE for Professional Developers


Gevent debug support

Good news for everyone who uses gevent!

Since the last PyCharm 2.6 EAP our visual debugger is able to deal with gevent monkey-patched code.

To enable it just edit python/helpers/pydev/ in PyCharm installation and set the constant SUPPORT_GEVENT=True

Your feedback is welcome as always!

Update: In recent versions of PyCharm, the option has moved to the main settings dialog. You can enable it under Settings | Python Debugger | Gevent compatible debugging.

Comments below can no longer be edited.

12 Responses to Gevent debug support

  1. Avatar

    Trung Ly says:

    September 26, 2012

    This helped me out a lot. Thanks!

    Any plans to do it in a non-hackish (like in Settings) way in the future?

  2. Avatar

    Lew says:

    October 11, 2012

    This is great. We’ve been using this a ton!

    Having trouble getting remote debugging with gevent working though. Is this supported? (I can connect but breakpoints aren’t being hit.)



  3. Avatar

    Lukman says:

    December 7, 2012

    I become a Jetbrains clenit past year, buying the Personal License for PyCharm 1.0, but my license will expire next month in October, 28.I’ve to buy a new license for the version 2.0, if the final release occur after the expiration of my license or I’ll be called to renew my license? Sorry, but I really don’t know how is the process to continue to getting support for PyCharm.Thanks in advance.

  4. Avatar

    Hann says:

    June 18, 2013

    Setting SUPPORT_GEVENT = True raises

    Exception KeyError: KeyError(4332526160,) in ignored

    while debugging. The problem is attached to importing threading module before monkey patching. My platform is PyCharm 2.7.3 build #129.782

    Those who face the same problem, please confirm.

    • Avatar

      traff says:

      June 20, 2013

      Hi Hann,
      thanks for sharing the link!

      PyCharm’s debugger uses threading module internally, but the problem can be solved, I’ve create an issue regarding the problem

  5. Avatar

    tracy jones says:

    November 21, 2013

    I am also having an issue where i can connect but breakpoints are not being hit. I set
    GEVENT_SUPPORT on the client side and enabled gevent debugging on the server side. But no breakpoints.

    • Avatar

      Nate Thelen says:

      October 27, 2014

      We are having the same exact problem. Anyone resolve it?

      • Avatar

        Edilio Gallardo says:

        January 14, 2015

        It is SUPPORT_GEVENT = True instead of GEVENT_SUPPORT.

        I added a little bit more of code into a github project to make easier debugging using .env files like suggests. Here is the code:

        • Avatar

          David Hesson says:

          June 24, 2015

          This still isn’t working for me. My behavior is slightly bizarre – the breakpoint is hit, but no variables load and no thread/stack information loads, and all the step buttons stay grayed out. The debugger just says “Connected” and never changes state. So frustrating right now. I’m using 4.5.x and I have enabled “Gevent compatible debugging” in settings with no luck.

  6. Avatar

    fefe says:

    April 25, 2016

    in pycharm
    my solution works

    cd /Applications/PyCharm
    under import gevent add one line: SUPPORT_GEVENT = True

    SUPPORT_GEVENT = os.getenv(‘GEVENT_SUPPORT’, ‘False’) == ‘True’
    import gevent
    SUPPORT_GEVENT = True #add this line
    # Jython 2.1 doesn’t accept that construct

  7. Avatar

    Amir says:

    December 31, 2019

    This fix worked for me, but then today it stopped working and I get the RecursiveError on S3 access when I run a unittest (what I got before the fix).
    Version: pycharm-community-2018.2.2
    Fixed File: /helpers/pydev/_pydevd_bundle/
    Python: 3.6.9
    Any suggestion?
    Thanks a lot

Discover more