'PyCharm "Run configuration" asking for "script parameters"

While writing an application parsing command line arguments I would like to run it with various parameters.

I don't want to create a Run Configuration for every possible command line argument that I want my script to test with. Is there a way in PyCharm (and I guess with any JetBrains IDE) to make a Run Configuration that asks for the Script parameters when executed?

I am currently using PyCharm 3.1 (EAP).



Solution 1:[1]

Currently the only possibility is to use the "Before launch | Show this page" option.

Solution 2:[2]

I've found today that now is possible to ask for parameters using the "Prompt" macro on the "Run configuration" parameters field.

https://www.jetbrains.com/help/pycharm/code-running-assistance-tutorial.html#parameter-with-macros

Solution 3:[3]

Although yole's answer is the de facto way to be prompted for thw arguments before running a program, it is slightly annoying because:

  • the dialog is visually overwhelming and cluttered instead of focused on what you want to do;
  • you have to tab to reach the arguments field if you want to use the keyboard exclusively (and why not?);

Nothing you could do about that. (Except maybe file a ticket. Have you done that?)


I'm just adding what I used to do before I knew about Googled for this option for the sake of completeness (obvously, this is a hack in the least glamorous sense of the term). But it did suit my workflow as I often only had discrete lines to test with, and didn't switch that often.

  1. Create a new configuration set to the same file, but with a special 'magic' parameter;
  2. Add code to your script to check if the magic is there;
  3. Use a string variable instead of sys.argv (pass it through lambda args: [__name__] + args.split() to reduce the boilerplate);
  4. ???
  5. Profit;

Solution 4:[4]

I'm doing this on a Mac, but hopefully this will be helpful for Windows or Linux.

Go to Run > Edit Configurations There will be a dialog box that opens. Script: file you want to run (ending with .py) Script Parameters: the command line arguments Working Directory: directory where your project is.

Solution 5:[5]

My simple answer is adding another wrapper as the cover in the source code which will run on the selection you made through code branch or external command or file, so choosing different branch is just a 'ddp' tap distance in vim(line change for parameter settings). You dont have to depend on pycharm updating by building your own code world:)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 yole
Solution 2 Juan Carlos Arevalo
Solution 3 Community
Solution 4 bad_coder
Solution 5 BrainAtom