Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Jupyter Lab, execute editor code in Python console

In JupyterLab, I want to send code from the editor to the Python console for execution, preferably with a keyboard shortcut. The documentation doesn't seem to offer a way to do this, but it's such a fundamental aspect of an IDE that I imagine it's probably possible.

like image 379
rsoren Avatar asked Jul 28 '16 23:07

rsoren


People also ask

How do I run Python code in JupyterLab?

Inside the Notebook. When you open a new Jupyter notebook, you'll notice that it contains a cell. Cells are how notebooks are structured and are the areas where you write your code. To run a piece of code, click on the cell to select it, then press SHIFT+ENTER or press the play button in the toolbar above.

How do I use console in JupyterLab?

Yes, with JupyterLab you can simply right-click on your active notebook, and then click "New Console for Notebook" to open up a console that's hooked up to the same Python kernel! With this, you can play around with all the dataframes and objects without messing up the notebook outputs.


2 Answers

The answer:

Select your desired line(s) and use Run > Run Selected Text or Current Line in Console, or define your own shortcut under Settings > Advanced Settings > Keyboard Shortcuts:

{
    // List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

The details:

Option 1 - Send code from the editor to the Python console:

While the cell is active, click Run and select Run Selected Text or Current Line in Console.

enter image description here

Test run and output:

enter image description here

For those trying JupyterLab for the first time, this is opposed to the standard option of hitting ctrl+Enter and getting the output within JupyterLab itself:

enter image description here


Option 2 - Assign and use a keyboard shortcut:

There's no standard shortcut for this, but you can quite easily set it up yourself if you follow these few easy steps:

2.1 - Go to Settings and select Advanced Settings editor:

enter image description here

**

Step 2.2 for newer versions - Insert the following under User Preferences:

{
    // List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

enter image description here

Step 2.2 for older versions- Write the following under User Overrides and type in your desired shortcut below keys:

// [missing schema title]
    // [missing schema description]
    "notebook:run-in-console": {
      "command": "notebook:run-in-console",
      "keys": [
        "F9"
      ],
      "selector": ".jp-Notebook.jp-mod-editMode",
      "title": "Run In Console",
      "category": "Notebook Cell Operations"
    }

enter image description here

As you can see, my preferred shortcut is F9.

2.3 - Click Save All under File.

And if you close and reopen your notebook, you'll see that you've assigned F9 as a shortcut in the menu itself:

enter image description here

2.4.1 - Run single line / Send single line to IPython console.

Just put your marker on the desired line and click F9:

enter image description here

2.4.2 - Run selected code / send selected text to IPython console:

Just select your desired code and click F9

enter image description here

like image 97
vestland Avatar answered Oct 18 '22 04:10

vestland


This feature has been released now. All you need to do is

  1. Right click the script and create a console editor
  2. Copy the whole code and press shift + Enter
like image 40
sushmit Avatar answered Oct 18 '22 02:10

sushmit