Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Run Flask CLI command with PyCharm debugger

I have created a custom CLI command in Flask, that I am able to run via flask my_command in the terminal. I want to run this command using PyCharm's debugger.

I created a "Flask server" configuration, and running it with the PyCharm debugger stops at breakpoints I set inside view functions. But if I try to run my CLI command from PyCharm's terminal, it doesn't stop at breakpoints in the command.

Do I need a custom configuration to debug custom CLI commands? I found a question about Django commands, but PyCharm's "Flask server" configuration doesn't have the same options. How can I configure PyCharm to debug a Flask CLI command?

like image 357
George Irimiciuc Avatar asked Aug 03 '18 09:08

George Irimiciuc


People also ask

How do I debug a Flask app in PyCharm?

Run/Debug Configuration: Flask Server Professional feature: download PyCharm Professional to try. Use this dialog to create run/debug configuration for Flask server and customize the way PyCharm executes your Flask application. See Creating web applications with Flask for more details on using Flask in PyCharm.

How do I run a Flask in PyCharm terminal?

Creating a Flask application in PyCharmSelect Flask in the New Project dialog. In the Location field, provide the path to the project location and type the MeteoMaster as the project name. Leave the rest of the settings default and save the changes. Click Shift+F10 to run the default application.


1 Answers

PyCharm's "Flask server" configuration only calls the flask run command, it doesn't provide a way to call other commands. To do that, create a regular "Python" configuration that runs the flask command with the arguments you want.

  • Create a "Python" configuration and give it a name.
  • Select "Module name" instead of "Script path" and type flask.
  • Fill out "Parameters" with the arguments to pass. For example my_command --option A.
  • Edit the environment variables to include FLASK_APP=my_app and FLASK_ENV=development, the same way you'd use them from the terminal.
    • You may also need to configure "Working directory" to point at your project directory, if your command depends on where it's being run from.

Running this configuration with the debugger will stop at breakpoints in your CLI command instead of running the server.

like image 187
davidism Avatar answered Sep 23 '22 05:09

davidism