文档和内核#
在 Jupyter 架构中,内核是服务器启动的独立进程,用于在不同的编程语言和环境中运行您的代码。JupyterLab 允许您将任何打开的文本文件连接到代码控制台和内核。这意味着您可以轻松地以交互方式从文本文件中运行代码。
右键单击文档并选择“为编辑器创建控制台”
代码控制台打开后,发送单行代码或选择一段代码,然后按 Shift Enter
将其发送到代码控制台
在 Markdown 文档中,Shift Enter
会自动检测光标是否在代码块内,如果没有选择,则运行整个块
文本文件编辑器中的任何文本文件(Markdown、Python、R、LaTeX、C++ 等)都可以通过这种方式连接到代码控制台和内核。
子 Shell 控制台#
对于支持子 shell 的内核(例如带有 ipykernel 7.0.0+ 的 Python 内核),您可以创建子 shell 控制台以与主笔记本执行并发运行代码。
创建子 Shell 控制台
命令面板:按
Ctrl+Shift+C
(Mac 上为Cmd+Shift+C
)并搜索“New Subshell Console for Notebook”(为笔记本创建新的子 shell 控制台)上下文菜单:在笔记本中右键单击并选择“New Subshell Console for Notebook”(为笔记本创建新的子 shell 控制台)(仅当内核支持子 shell 时才显示)
验证子 Shell 功能
在 Python 内核中使用 %subshell
魔术命令
%subshell
这将显示
子 shell ID:主 shell 为
None
,子 shell 为唯一 ID子 shell 列表:活动子 shell ID 数组
实际示例
在您的主笔记本中,启动一个长时间运行的计算
import time for i in range(100): print(f"Main shell: {i}") time.sleep(1)
在它运行的同时,创建一个子 shell 控制台并执行
print("This runs concurrently!") %subshell # Shows this subshell's ID
子 shell 立即执行,无需等待主 shell 完成。
通信设置
通过“设置”→“高级设置”→“内核”配置小部件通信如何使用子 shell
disabled
:通信不使用子 shellperCommTarget
:每个通信目标一个子 shell(默认)perComm
:每个通信一个子 shell(可以创建多个子 shell)