CLion 2023.1 Help

Run/Debug Configuration: Python

Create: Run | Edit Configurations | Add New Configuration | Python


Before you start working with Python, make sure that Python plugin is installed and enabled. Press Control+Alt+S, go to Plugins and inspect the Installed tab to ensure the plugin is 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 to create a run/debug configuration for Python scripts.

Common settings

When you edit a run configuration (but not a run configuration template), you can specify the following options:




Specify a name for the run configuration to quickly identify it among others when editing or running.

Allow multiple instances

Allow running multiple instances of this run configuration in parallel.

By default, it is disabled, and when you start this configuration while another instance is still running, CLion suggests stopping the running instance and starting another one. This is helpful when a run configuration consumes a lot of resources and there is no good reason to run multiple instances.

Store as project file

Save the file with the run configuration settings to share it with other team members. The default location is .idea/runConfigurations. However, if you do not want to share the .idea directory, you can save the configuration to any other directory within the project.

By default, it is disabled, and CLion stores run configuration settings in .idea/workspace.xml.

Configuration tab



Script path/Module name

Click the list to select a type of target to run. Then, in the corresponding field, specify the path to the Python script or the module name to be executed.


In this field, 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\"}"


Environment variables

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

To create a new variable, click the Add button, 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. 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, click Copy Copy, and paste them into a text file.

Emulate terminal in output node

Select this checkbox to emulate the terminal in the Run tool window.

Show command line afterwards

Select this checkbox to leave the console opened after a project run or a debug session, saving its context.

Python Interpreter

Select one of the pre-configured Python interpreters from the list.

Interpreter options

In this field, specify the command-line options to be passed to the interpreter. If necessary, click Expand the field, and type the string in the editor.

Working directory

Specify a directory to be used by the running task.

  • When a default run/debug configuration is created by the keyboard shortcut Control+Shift+F10, or by choosing Run from 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 PYTHONPATH

Select this checkbox to add all content roots of your project to the environment variable PYTHONPATH;

Add source roots to PYTHONPATH

Select this checkbox to add all source roots of your project to the environment variable PYTHONPATH;


Run with Python console

Enables running your script or module with the Python console.

Docker container settings

Click the Browse button 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 through 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 App actions move down to expand the tables. Click App general add, App general remove, or App actions edit 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 Active

Select checkboxes 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 file

Select this checkbox 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 stream

Select this checkbox 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 stream

Select this checkbox to activate the output console and bring it forward if an associated process writes to Standard.err.

the Add button

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.

the Edit button

Click this button to edit the properties of the selected log file entry in the Edit Log Files Aliases dialog.

the Delete button

Click this button to remove the selected log entry from the list.

the Browse button

Click this button to edit the select log file entry. The button is available only when an entry is selected.

Last modified: 20 September 2022