PyCharm 2016.1 Help

Run/Debug Configuration: Python

Use this dialog box to create a run/debug configuration for Python scripts.

In this section:

Configuration tab

ScriptIn this text box, specify the name of the Python script to be executed.
Script parametersIn this text box, specify parameters to be passed to the Python script.

When specifying the script parameters, follow these rules:

  • Use spaces to separate individual script parameters.
  • Script parameters containing spaces should be delimited with double quotes, for example, some" "param or "some param".
  • If script parameter includes double quotes, escape the double quotes with backslashes, for example:
    -s"main.snap_source_dirs=[\"pcomponents/src/main/python\"]" -s"http.cc_port=8189" -s"backdoor.port=9189" -s"main.metadata={\"location\": \"B\", \"language\": \"python\", \"platform\": \"unix\"}"
ProjectClick this drop-down list to select one of the projects, opened in the same PyCharm window, where this run/debug configuration should be used. If there is only one open project, this field is not displayed.
Environment variableThis field shows the list of environment variables. If the list contains several variables, they are delimited with semicolons.
To fill in the list, click the browse button, or press Shift+Enter and specify the desired set of environment variables in the Environment Variables dialog box.
To create a new variable, click add, and type the desired name and value.
By default, the variable PYTHONUNBUFFERED is set to 1.
Show command line afterwardsSelect this check box to leave the console opened after a project run or a debug session, saving its context.
Python InterpreterSelect one of the pre-configured Python interpreters from the drop-down list.
Note that you can select a remote interpreter, as well as the local one. If a remote interpreter is selected, you have to specify path mappings in the corresponding field that appears.
Interpreter optionsIn this field, specify the string to be passed to the interpreter. If necessary, click shift-enter-button.png, and type the string in the editor.
Working directorySpecify a directory to be used by the running task.
  • When a default run/debug configuration is created by the keyboard shortcut Ctrl+Shift+F10, or by choosing Run on the context menu of a script, the working directory is the one that contains the executable script. This directory may differ from the project directory.
  • When this field is left blank, the bin directory of the PyCharm installation will be used.
Path mappingsThis field appears, if a remote interpreter has been selected in the field Python interpreter.
Click the browse button browseButton to define the required mappings between the local and remote paths. In the Edit Path Mappings dialog box, use add/delete buttons to create new mappings, or delete the selected ones.
Add content roots to PYTHONPATHSelect this check box to add all content roots of your project to the environment variable PYTHONPATH;
Add source roots to PYTHONPATHSelect this check box to add all source roots of your project to the environment variable PYTHONPATH;
Docker container settings

Click browseButton to open the dialog and specify the following settings:

  • Disable networking: select this check box to have the networking disabled. This corresponds to --net="none", which means that inside a container the external network resources are not available.
  • Network mode: corresponds to the other values of the option --net.
    • bridge is the default value. An IP address will be allocated for container on the bridge’s network and traffic will be routed though this bridge to the container.
      Containers can communicate via their IP addresses by default. To communicate by name, they must be linked.
    • host: use the host's network stack inside the container.
    • container:<name|id>: use the network stack of another container, specified via its name or id.

    Refer to the Network settings documentation for details.

  • Links: Use this section to link the container to be created with the other containers. This is applicable to Network mode = bridge and corresponds to the --link option.
  • Publish all ports: If the check box is selected, all the container’s exposed ports are bound to a random host port.
    See e.g. EXPOSE (incoming ports) in Docker run reference. This corresponds to the option --publish-all.
  • Port bindings: Use this field to specify the Container port/protocol - Host IP address/port mappings.

    E.g. 8080 tcp 18080 would bind the TCP port 8080 inside the container to port 18080 on the localhost or interface on the host machine.

    For more info, see e.g. Connect using network port mapping in Linking containers together.

  • Extra hosts: This corresponds to the --add-host option. Refer to the page Managing /etc/hosts for details.
  • Volume bindings: Use this field to specify the bindings between the special folders-volumes and the folders of the computer, where the Docker daemon runs. This corresponds to the -v option.
    See Managing data in containers for details.
  • Environment variables: Use this field to specify the list of environment variables and their values. This corresponds to the -e option. Refer to the page ENV (environment variables) for details.

Click arrow_down_hide_settings to expand the tables. Click add, delete or edit1 to make up the lists.

Logs tab

Use this tab to specify which log files generated while running or debugging should be displayed in the console, that is, on the dedicated tabs of the Run or Debug tool window.

Is ActiveSelect check boxes in this column to have the log entries displayed in the corresponding tabs in the Run tool window or Debug tool window.
Log File EntryThe read-only fields in this column list the log files to show. The list can contain:
  • Full paths to specific files.
  • Aliases to substitute for full paths or patterns. These aliases are also displayed in the headers of the tabs where the corresponding log files are shown.

    If a log entry pattern defines more than one file, the tab header shows the name of the file instead of the log entry alias.

Skip ContentSelect this check box to have the previous content of the selected log skipped.
Save console output to fileSelect this check box to save the console output to the specified location. Type the path manually, or click the browse button and point to the desired location in the dialog that opens.
Show console when a message is printed to standard output streamSelect this check box to activate the output console and bring it forward if an associated process writes to Standard.out.
Show console when a message is printed to standard error streamSelect this check box to activate the output console and bring it forward if an associated process writes to Standard.err.
add Click this button to open the Edit Log Files Aliases dialog where you can select a new log entry and specify an alias for it.
edit1 Click this button to edit the properties of the selected log file entry in the Edit Log Files Aliases dialog.
delete Click this button to remove the selected log entry from the list.
browseButton.png Click this button to edit the select log file entry. The button is available only when an entry is selected.


add Alt+Insert Click this button to add a new configuration to the list.
delete Alt+Delete Click this button to remove the selected configuration from the list.
copy Ctrl+D Click this button to create a copy of the selected configuration.
settings Edit defaultsClick this button to edit the default configuration templates. The defaults are used for newly created configurations.
arrowUp or arrowDown Alt+Up or Alt+Down Use these buttons to move the selected configuration or folder up and down in the list.

The order of configurations or folders in the list defines the order in which configurations appear in the Run/Debug drop-down list on the main toolbar.

folder Move into new folder / Create new folder Use this button to create a new folder.

If one or more run/debug configurations are in focus, the selected run/debug configurations are automatically moved to the newly created folder. If only a category is in focus, an empty folder is created.

Move run/debug configurations to a folder using drag-and-drop, or the arrowUp arrowDown buttons.

sortAlphabetically Sort configurations Click this button to sort configurations in alphabetical order.

Common options

NameIn this text box, specify the name of the current run/debug configuration. This field does not appear for the default run/debug configurations.
Defaults This node in the left-hand pane of the dialog box contains the default run/debug configuration settings. Select the desired configuration to change its default settings in the right-hand pane. The defaults are applied to all newly created run/debug configurations.
Share Select this check box to make the run/debug configuration available to other team members.

The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml.

This check box is not available when editing the run/debug configuration defaults.

Single instance onlyIf this check box is selected, this run/debug configuration cannot be launched more than once.

Every time a new run/debug configuration is launched, PyCharm checks the presence of the other instances of the same run/debug configuration, and displays a confirmation dialog box. If you click OK in the confirmation dialog box, the first instance of the runner will be stopped, and the next one will take its place.

This makes sense when the usage of certain resources can cause conflicts, or when launching two run/debug configurations of the same type consumes too much of the CPU and memory resources.

If this check box is not selected, it is possible to launch as many instances of the runner as required. So doing, each runner will start in its own tab of the Run tool window.

Before launchSpecify which tasks must be performed before applying the run/debug configuration. The specified tasks are performed in the order they appear in the list.
ItemKeyboard shortcutDescription
add Alt+Insert Click this icon to add a task to the list. Select the task to be added:
  • Run External tool. Select this option to run an application which is external to PyCharm. In the dialog that opens, select the application or applications that should be run. If the necessary application is not defined in PyCharm yet, add its definition. For more information, see Configuring Third-Party Tools and External Tools.
  • Run Another Configuration. Select this option to have another run/debug configuration executed. In the dialog that opens, select the configuration to run.

    This option is available only if you have already at least one run/debug configuration in the current project.

  • Run File Watchers. Select this option to have PyCharm apply all the currently active file watchers, see Using File Watchers for details.
  • Generate CoffeeScript Source Maps. Select this option to have the source maps for your CoffeeScript sources generated. In the dialog that opens, specify where your CoffeeScript source files are located. For more information, see CoffeeScript Support.
  • Run Remote External tool: Add a remote SSH external tool. Refer to the section Remote SSH External Tools for details.
  • Upload files to Remote Host. Select this option to have the application files automatically uploaded to the server according to the default server access configuration. For more information, see Configuring Synchronization with a Web Server and Uploading and Downloading Files.
delete Alt+Delete Click this icon to remove the selected task from the list.
edit1 Enter Click this icon to edit the selected task. Make the necessary changes in the dialog that opens.
arrowUp Alt+Up Click this icon to move the selected task one line up in the list.
arrowDown Alt+Down Click this icon to move the selected task one line down in the list.
Show this page Select this check box to have the run/debug configuration settings shown prior to actually starting the run/debug configuration.
Active tool windowSelect this option if you want the Run/Debug tool windows to be activated automatically when you run/debug your application. This option is enabled by default.

See Also

Last modified: 20 April 2016