CLion 2018.2 Help

Run/Debug Configuration: Python

On this page:


Before you start working with Python, make sure that Python plugin is installed and enabled.

Also make sure that the following prerequisites are met:

  • Python SDK is downloaded and installed on your machine.
  • The required framework SDKs are downloaded and installed on your machine.

Refer to their respective download and installation pages for details:

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

Configuration tab

Script path/Module nameClick the list to select a type of target to run. Then, in the corresponding text box, specify the path to the Python script or the module name to be executed.
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\"}"
Environment variablesThis field shows the list of environment variables. If the list contains several variables, they are delimited with semicolons.
By default, the field contains the variable PYTHONUNBUFFERED set to 1. 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 icons general add, and type the desired name and value. You might want to populate the list with the variables stored as a series of records in a text file, for example:
Variable1 = Value1 Variable2 = Value2
Just copy the list of variables from the text file and click Paste (Paste) in the Environmental Variables dialog box. The variables will be added to the table. Click Ok to complete the task. At any time, you can select all variables in the Environment Variables dialog box, click Copy (Copy), and paste them into a text file.
Emulate terminal in output nodeOn Linux and macOS systems, select this checkbox to emulate the terminal in the Run tool window.
On Windows system, this option is not visible!
Show command line afterwardsSelect this checkbox 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.
Interpreter optionsIn this field, specify the string to be passed to the interpreter. If necessary, click icons general expandComponent svg, 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 CLion installation will be used.
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 PYTHONPATH Select this check box to add all source roots of your project to the environment variable PYTHONPATH;
Emulate terminal in output consoleEnables running your script or module in the output console with the emulated terminal mode. This mode can be helpful for the tasks that cannot be implemented with the standard output console, for example, when your script performs caret return actions (print(i, flush=True , end='\r').
Note that emulating terminal in the output console differs from running the Terminal that is a separate tool window used for running system shell commands.
Run with Python consoleEnables running your script or module with the Python console.
Docker container settings

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

  • Disable networking: select this checkbox 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: Expose all container ports to the host. This corresponds to the option --publish-all.
  • Port bindings: Specify the list of port bindings. Similar to using the -p option with docker run.
  • 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 icons actions down to expand the tables. Click icons general add, icons general remove svg or icons actions edit svg 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 Entry

The 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.

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.
icons general add svgClick this button to open the Edit Log Files Aliases dialog where you can select a new log entry and specify an alias for it.
icons actions edit svgClick this button to edit the properties of the selected log file entry in the Edit Log Files Aliases dialog.
icons general remove svgClick 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.
Last modified: 18 September 2018

See Also