在 Jupyter Lab 中,在 Python 控制台中执行编辑器代码

In Jupyter Lab, execute editor code in Python console

JupyterLab中,我想将代码从编辑器发送到Python控制台执行,最好使用键盘快捷键。该文档似乎没有提供执行此操作的方法,但它是 IDE 的一个基本方面,我认为它可能是可能的。

这计划作为 1.0 版本的一项功能。参见 https://github.com/jupyter/jupyterlab/issues/450

这可能是一种解决方法,但您可以做的是打开一个交互式控制台会话。这使用 IPython,因此您可以使用魔术 %run 来执行 .py 文件。所以做一些像

%run ./yourFile.py

此功能现已发布。您需要做的就是

  1. 右键单击脚本并创建控制台编辑器
  2. 复制整个代码并按shift + Enter

这也可以通过将光标放在该行上按 shift + enter 来完成(而不是选择整行,然后按 shift + enter)。

答案:

Select 您想要的行并使用 Run > Run Selected Text or Current Line in Console,或者在 Settings > Advanced Settings > Keyboard Shortcuts:

下定义您自己的快捷方式
{
    // List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

详情:

选项 1 - 将代码从编辑器发送到 Python 控制台:

当单元格处于活动状态时,单击 Run 和 select Run Selected Text or Current Line in Console

测试运行并输出:

对于那些第一次尝试 JupyterLab 的人来说,这与点击 ctrl+Enter 并在 JupyterLab 本身内获取输出的标准选项相反:


选项 2 - 分配和使用键盘快捷键:

这没有标准的快捷方式,但是如果您按照以下几个简单的步骤操作,您可以很容易地自行设置它:

2.1 - 转到 Settings 和 select Advanced Settings editor:

**

新版本的步骤 2.2 -User Preferences 下插入以下内容:

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

旧版本的步骤 2.2-User Overrides 下输入以下内容,然后在 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"
    }

如您所见,我首选的快捷方式是 F9

2.3 -点击File下的Save All

如果您关闭并重新打开笔记本,您会看到您已将 F9 指定为菜单本身的快捷方式:

2.4.1 - 运行 单行/将单行发送到 IPython 控制台。

只需将标记放在所需的行上,然后单击 F9:

2.4.2 - 运行 selected 代码/发送 selected 文本到 IPython 控制台:

只需 select 您想要的代码,然后单击 F9