PyCharm 2023.1 Help

Python console

Python console enables executing Python commands and scripts line by line, similar to your experience with Python Shell.

Actions available in the Python Console

In the console, you can:

  • Type commands and press Enter to execute them. Results are displayed in the same console.

  • Use basic code completion Ctrl+Space and tab completion.

  • Use the await keyword to run asyncio coroutines.

  • Use Up and Down arrow keys to scroll through the history of commands, and execute the required ones.

  • Load source code from the editor into console.

  • Use the context menu to copy the contents of the console to the clipboard, compare it with the clipboard, or clear the console.

  • Use the toolbar buttons to control your session in the console.

  • Configure color scheme of the console to meet your preferences. Refer to the section Configure color schemes for consoles for details.

Working with Python console

The console appears as a tool window every time you choose the corresponding command on the Tools menu. You can assign a shortcut to open Python console: press Ctrl+Alt+S, navigate to Keymap, specify a shortcut for Main menu | Tools | Python or Debug Console.

The main reason for using the Python console within PyCharm is to benefit from the main IDE features, such as code completion, code analysis, and quick fixes.

Code completion in the Python console

You can use up and down arrow keys to browse through the history of executed commands, and repeat the desired ones. To preview the variable values calculated in the course of the execution, click Show variables and check the Special Variables list.

Show variables in the Python console

The console is available for all types of Python interpreters and virtual environments, both local and remote.

Preview a variable as an array

When your variables are numpy arrays or dataframes, you can preview them as an array in a separate window. To try it, do one of the following:

  • Click the link View as Array/View as DataFrame:

    Viewing variables in array when running from Python console
  • From the context menu of a variable, choose View as Array/View as DataFrame:

    Viewing variables in data frames when running from Python console

The variable will be opened in the Data tab of the SciView window.

View an array or dataframe in a separate window

Run source code from the editor in console

  1. Open file in the editor, and select a fragment of code to be executed.

  2. From the context menu of the selection, choose Execute Selection in Python Console, or pressAlt+Shift+E:

    Context menu for executing the code selection
  3. Watch the code selection execution:

    Execution of the code selection in the console

By default, the Python console executes Python commands using the Python interpreter defined for the project. However, you can assign an alternative Python interpreter.

Run asyncio coroutines

  1. In the editor, select a fragment of code which contains the definition of an asyncio coroutine.

  2. From the context menu, select Execute Selection in Python Console, or pressAlt+Shift+E:

    Selecting and executing asyncio coroutines in the Python console
  3. After the code is executed on the Python console, run the coroutine by using the await keyword:

    Execution of the asyncio coroutine in the console

Configure Python console settings

  1. In the Settings dialog (Ctrl+Alt+S), select Build, Execution, Deployment | Console | Python Console.

  2. Select any available interpreter from the Python interpreter list. Note that you cannot introduce a new interpreter here. If you want to come up with the new interpreter, you need to create it first.

    Search an alternative Python interpreter
  3. In needed, click the Configure Interpreters link to inspect the list of the installed packages and add new ones.

    Mind the code in the Starting script area. It contains the script that will be executed after you open the Python console. Use it to pre-code some required Python commands.

When working on several Python scripts, you might want to execute each in a separate Python console.

Run several Python consoles

  1. Click New Console to add a new Python console.

  2. By default, each console has the name Python Console with an index. To make a console reflect the script you're running, right-click the console tab, select Rename Console, and enter any meaningful name.

    Rename the Python console

All the commands you're running in the Python console are executed one by one. If the commands require substantial time to get executed, you might want to preview and manage the execution queue.

Manage the command execution queue

  1. Go to Settings | Build, Execution, Deployment | Console and enable the Command queue for Python Console checkbox.

  2. Click Command queue on the console toolbar to open the queue.

    Console command queue
  3. In the Python Console Command Queue dialog, review the list of commands. If needed, click remove to delete the command from the queue.

Note, once the command is executed, it disappears from the queue. To preview all previously executed commands browse the console history (console history).



Tooltip and shortcut


Rerun console

Rerun console


Click this button to terminate the current process and launch the new one.

the Stop button



Click this button to stop the current process.

Clicking the button once invokes soft kill allowing the application to catch the SIGINT event and perform graceful termination (on Windows, the Ctrl+C event is emulated). After the button is clicked once, it is replaced with the Kill Process button indicating that subsequent click will lead to force termination of the application, for example on Unix SIGKILL is sent.

Run command

Execute Current Statement


Click this button to execute the command at caret, entered in the input pane of the console.


Attach Debugger

Attaches the debugger process to the console.



You can specify the following settings of the Python console:

  • Simplified Variables View: Select this option to include the following names into the Special Variables group:

    • all variables with the dunder names.

    • all instances of function, classobj and module.

    • all the IPython internal variables, if debug console with IPython has been started.

  • Variables Loading Policy. You can choose one of the following policies:

    • Synchronously: If this check command is selected, the message shown is Collecting data, and after that the debugger shows the variables' values.

    • Asynchronously: If this check command is selected, the variables in the debugger are loaded separately (asynchronously). In this case, if loading a variable takes a long time, the debugger shows ...Loading Value message, and only after that it shows its value or the Loading timed out message, if the variable is too slow. Mind the warning message that suggest switching to the on demand mode.

    • On demand: If this check command is selected, the debugger shows Show Value message. Click it to enable loading.

    Note that any changes in the loading policies become effective after you rerun the debugging process.

Add a new console

New Console

Click this button to start a new console session.

the Soft-Wrap button

Use Soft Wraps

Click this button to toggle the soft wrap mode of the output.

Scroll to the end

Scroll to the end

Click this button to navigate to the bottom of the stack trace and have the cursor jump to the corresponding location in the source code.

the Print button


Click this button to send the console text to the default printer.

Debugger watches

Show variables

Click this button to show in a separate pane the variables declared in the console. Right-click a variable in this pane reveals a context menu.

Add a new console

Show Command Queue

Click this button to preview the command execution queue.

Browse Data Source History

Browse History


Open a dialog that shows all the statements that you have run for the corresponding data source.

See also, Using the History dialog.

Context menu commands




Compare with Clipboard Compare with Clipboard

Show selection in the console and contents of the Clipboard in the Differences viewer.

Pause Output

Pause the Python script execution output

Create gist icon Create Gist

Choose this command to create a Git Gist.

Clear all Clear All

Choose this item from the context menu to delete all messages from the upper part of the console.

Last modified: 10 November 2022