在VS Code中管理Jupyter内核

Visual Studio Code 笔记本的内核选择器帮助你为笔记本选择特定的内核。您可以通过笔记本右上角的“选择内核”或通过命令面板中的“笔记本:选择笔记本内核”命令打开内核选择器。

一旦打开内核选择器,VS Code 会显示最近使用的(MRU)内核:

MRU 内核

注意:在之前的VS Code版本(版本<1.76)中,VS Code默认显示所有可用的内核。

要查看其他内核,可以点击“选择另一个内核......”。所有现有内核都被分类为内核源选项,这些源由 Jupyter 扩展开箱即用支持:

笔记本内核选择器

默认情况下,VS Code会推荐你之前用过的笔记本内核,但你也可以选择连接到其他任何Jupyter内核,如下所示。VS Code 还会记住你笔记本最后被选中的内核,并在你下次打开笔记本时自动选择它们。

Jupyter 核

Jupyter 内核类别列出了 VS Code 在其运行的计算系统(桌面、GitHub 代码空间、远程服务器等)中检测到的所有 Jupyter 内核。每个 Jupyter 内核都有一个 Jupyter 内核规范,或称 Jupyter 内核规范,其中包含一个 JSON 文件(kernel.json)并包含内核的详细信息——如名称、描述以及作为内核启动进程所需的CLI信息。

Python 环境

Python 环境类别列出了 VS Code 从其运行的计算系统(你的桌面、Code空间、远程服务器等)检测到的 Python 环境。它显示所有 Python 环境按类型分组(例如 conda、venv)——无论是否安装了 IPyKernel

注意:你不需要在你想使用的 Python 环境中安装 jupyter。只需IPyKernel包即可作为内核启动Python进程并对笔记本执行代码(PIP 安装 ipykernel).请访问Jupyter扩展维基了解更多信息。

现有的Jupyter服务器

现有Jupyter服务器类别列出了之前连接过的远程Jupyter服务器。你也可以用这个选项远程或本地连接现有的Jupyter服务器。例如,查找你的 Jupyter 服务器的网址,http://<ip-address>:<port>/?token=<token>然后粘贴到运行中的 Jupyter 服务器的 URL 选项中,连接到远程服务器,并用该服务器对你的笔记本执行代码。

输入服务器网址

启动远程服务器时,务必:

  1. 允许所有起源(例如)--NotebookApp.allow_origin='*')以便允许外部访问你的服务器。
  2. 设置笔记本在所有IP上监听 (--NotebookApp.ip='0.0.0.0').

连接后,所有活跃的Jupyter会话都会出现在这个列表中。

您可以通过以下方式从服务器的内核规范创建新会话:

  1. 运行笔记本:选择笔记本内核命令。
  2. 选择“选择另一个内核”。
  3. 选择现有的Jupyter服务器
  4. 选择你的服务器。

Codespaces Jupyter 服务器

Connect to Codespace 类别包含一种特殊类型的 Jupyter 服务器,你可以使用由 GitHub Codespaces 驱动的远程 Jupyter 服务器,GitHub Codespaces 是一个每月最多可免费获得 60 小时的云资源。使用 Codespaces Jupyter 服务器:

  1. 安装GitHub Codespaces扩展

    注意:如果你用的是 VS Code for the Web(vscode.devgithub.dev),这个扩展已经为你安装了。还要确保安装了Jupyter扩展

  2. 进入命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P),选择代码空间:登录,然后按照步骤登录代码空间。

  3. 通过点击笔记本右上角的“选择内核”打开内核,选择连接代码空间

    提示:如果你没看到“连接代码空间”选项,进入命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P),选择“开发者:重新加载窗口”来重新加载窗口,然后再试一次。

这不是必须的,但你也可以在GitHub Codespaces页面上管理所有Codespaces和Codespaces Jupyter服务器。想了解更多信息,可以阅读GitHub Codespaces的文档

添加内核选项

如果你的机器上没有任何 Jupyter 内核或 Python 环境,VS Code 可以帮你设置:进入命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P),选择 Python:创建环境,然后按照提示作。你还可以通过安装像 Azure 机器学习这样的扩展来增加选择内核的额外方式。

更多内核源代码

问题或反馈

您可以通过在我们的仓库中创建问题来添加功能请求报告问题,该仓库由我们的工程团队积极监控和管理。