Run/Debug Configuration: Tox

Click here for the description of the options that are common for all run/debug configurations.

Configuration tab

Item

Description

Tox

Arguments

Specify the arguments that are passed to the tox.ini script. So doing, the arguments are delimited with spaces, for example, --some-arg --foo-arg.

Run only environment

Specify here the Python environments/interpreters, where your project will be executed. So doing, the environments are delimited with commas, for example, py27,py34.

Environment

Project

Click 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 variable

This 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 , and type the desired name and value.

In this field, specify the string to be passed to the interpreter. If necessary, click , 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 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 mappings

This field appears, if a remote interpreter has been selected in the field Python interpreter. Click the browse button to define the required mappings between the local and remote paths. In the Edit Path Mappings dialog box, use / buttons to create new mappings, or delete the selected ones.

Add content roots to PYTHONPATH

Select 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;

Speaking about the correspondence of settings with some options (--net, --link, etc.), note that these options come from Docker command line arguments.

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

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 127.0.0.1 18080 would bind the TCP port 8080 inside the container to port 18080 on the localhost or 127.0.0.1 interface on the host machine.

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 to expand the tables. Click , or 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.

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

Sort configurations

Click this button to sort configurations in alphabetical order.

Common options

Item

Description

Name

In 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 only

If 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 launch

Specify which tasks must be performed before applying the run/debug configuration. The specified tasks are performed in the order they appear in the list.

Item

Keyboard shortcut

Description

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.

Run Grunt task. Select this option to run a Grunt task. In the Grunt task dialog box that opens, specify the Gruntfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Grunt tool.

Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the grunt-cli package.

Run Gulp task. Select this option to run a Grunt task. In the Gulp task dialog box that opens, specify the Gulpfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Gulp tool.

Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the gulp package.

Run npm Script. Select this check box to execute an npm script. In the NPM Script dialog box that opens, specify the package.json file where the required script is defined, select the script to execute, choose the command to apply to it, and specify the arguments to execute the script with.

Specify the location of the Node.js interpreter and the parameters to pass to it.

Compile TypeScript. Select this option to run the built-in TypeScript compiler and thus make sure that all the changes you made to your TypeScript code are reflected in the generated JavaScript files. In the TypeScript Compile Settings dialog that opens, select or clear the Check errors check box to configure the behaviour of the compiler in case any errors are detected:

If the Check errors check box is selected, the compiler will show all the errors and the run configuration will not start.

If the Check errors check box is cleared, the compiler will show all the detected errors but the run configuration still will be launched.

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.