I know how to run commands with PyCharm (Tools -> Run manage.py Task), but I would like to debug them also, including my commands and third party app's commands.
-
If you're trying to debug manage.py commands (those in app/management/commands/ folder), you can use @Kevin's answer, but put in manage.py in the "Script", and the command you want to run in "Script parameters".RVC– RVC2014-10-23 02:41:28 +00:00Commented Oct 23, 2014 at 2:41
-
related: stackoverflow.com/a/11725797djvg– djvg2023-08-24 12:22:26 +00:00Commented Aug 24, 2023 at 12:22
3 Answers
You can debug a custom Django admin/management command in PyCharm by creating a custom Django server entry on the Run/Debug Configuration menu:
- Click
Edit Configurations.... - Click the plus sign and choose
Django server. - Fill in the
Nameas you please, clear theHostandPortfields, checkCustom run commandand enter the name of your command to the right of the checkbox. - Enter any extra command-line arguments into the separate field
Additional options, not appended in the run command. - Click OK.
Now set a breakpoint, choose your new configuration from the Run/Debug Configuration menu and click the Debug button. Et voilà!
10 Comments
py manage.py cmd from console, this box will contain simply cmd.Since clearing Host and Port will not make the command run at all (PyCharm 5), the solution I found is to use a Python run configuration instead of a Django server. Fill Script with your manage.py script, other parameters in Script Parameters, and adjust your environment such as Working directory.
I am explaining using my following custom Django command:
python manage.py execute_algorithm -f input_data.json
Steps to configure Django Command: Step: From Django toolbar go to:
Run > Edit Configurations
Click on the '+' icon at top left, to create new command > select 'Django server' from the drop down.
Fill following details:
Name: any suitable name that you want to give to this config e.g. execute_algorithm_command
Host: Clear the field
Port: It's 8000 by default, clear it.
Custom Run Command: Check this box fist. Provide your command name there. You can get that from
apps/module/management/command/execute_algorithm. e.g value: execute_algorithm
Additional options: Whatever is there, after you command name. value is: -f input_data.json