How to debug flask.app with pycharm 2.x that's running on gunicorn

前端 未结 4 826
清酒与你
清酒与你 2021-01-31 09:34

I\'m developing a flask.app that uses web socket functionality and installed flask-socket to provide that. So the flask-socket developer recommends gunicorn as web server. My qu

相关标签:
4条回答
  • 2021-01-31 09:56
    • edit your flask launch python file
    $ vim manage.py
    
    • remove debug option setting
    from web import app
    import sys
    
    if __name__ == '__main__':
        # app.run(host='0.0.0.0', port=app.config["PORT"], debug=app.config["DEBUG"])
        app.run(host='0.0.0.0', port=9998, debug=False)
    
    0 讨论(0)
  • 2021-01-31 10:02

    I was trying to debug on Pycharm 2020.2.1 and the break points weren't correctly working even though the Gevent compatible debugging was enabled. It turned out that I had to disable Cython for my run configuration via setting the environment variable as described here to make it work.

    PYDEVD_USE_CYTHON=NO
    
    0 讨论(0)
  • 2021-01-31 10:05

    Settings > Project Settings > Python Debugger

    There's an option in there to enable "gevent compatible debugging".

    Then, go into your debugger settings (shortcut is through the toolbar, click the dropdown near the play/debug icons and select "Edit Configurations"

    Set the "Script" to your virtualenv's isntallation of gunicorn, something like:

    /Users/iandouglas/.virtualenvs/defaultenv/bin/gunicorn

    Set the "Script Parameters" to something like -b 192.168.1.1:9000 app:yourappname (assuming your primary starting script is called app.py and you're refering to it as 'yourappname'

    the "Working directory" will be automatically set otherwise set it to wherever your code lives: /Users/iandouglas/PycharmProjects/MyExampleApp

    I have a separate config file for my gunicorn settings, which specifies a host/port but I still had to specify the -b 0.0.0.0:5001 parameter to force gunicorn to bind to all IPs on my machine on port 5001.

    p.s.

    One important step is to add this envvar as pointed out here

    PYDEVD_USE_CYTHON=NO
    
    0 讨论(0)
  • 2021-01-31 10:11

    My case for PyCharm 2018.1.3 Professional:

    1. Go to run/debug configurations creating-and-editing-run-debug-configurations

    2. Choose new "Python" config

    3. Script path: your_path_to_/venv/bin/gunicorn
    4. Parameters(for my case): -b :5001 --access-logfile - --error-logfile - "run:create_application()"
    5. Python interpreter: your venv python version for project
    6. Working directory: path to your project
    7. Save and press DEBUG (Shift+F9)
    8. be happy!
    0 讨论(0)
提交回复
热议问题