在 VS Code 中管理 Jupyter 内核
Visual Studio Code 笔记本的内核选择器帮助您为笔记本选择特定的内核。您可以通过点击 选择内核 来打开内核选择器,或者通过命令面板使用 笔记本:选择笔记本内核 命令。
一旦你打开内核选择器,VS Code 会显示最近使用的内核 (MRU):

注意:在 VS Code 的早期版本(版本 <1.76)中,VS Code 默认会显示所有可用的内核。
要查看其他内核,请点击 选择另一个内核...。所有现有的内核都分为内核源选项,这些源是Jupyter扩展默认支持的:

默认情况下,VS Code 会推荐您之前在笔记本中使用的那个,但您可以选择连接到其他任何 Jupyter 内核,如下所示。VS Code 还会记住您笔记本的最后一个选择的内核,并在下次打开笔记本时自动选择它们。
Jupyter 内核
Jupyter 内核类别列出了 VS Code 在其运行的计算系统(您的桌面、GitHub Codespaces、远程服务器等)中检测到的所有 Jupyter 内核。每个 Jupyter 内核都有一个 Jupyter 内核规范,或 Jupyter 内核规范,包含一个 JSON 文件(内核.json) 包含有关内核的详细信息——名称、描述以及启动内核进程所需的 CLI 信息。
Python 环境
Python 环境 类别列出了 VS Code 在其运行的计算系统(您的桌面、Codespaces、远程服务器等)中检测到的 Python 环境。它显示按类型分组的所有 Python 环境(例如,conda、venv),无论是否安装了 IPyKernel。
注意:你不需要安装jupyter到你想要使用的Python环境中。只需要IPyKernel包来启动一个Python进程作为内核,并执行你的notebook中的代码(
使用pip安装ipykernel:pip install ipykernel) 访问 Jupyter 扩展维基 以了解更多信息。
现有的 Jupyter 服务器
现有的Jupyter服务器类别列出了之前连接的远程Jupyter服务器。您也可以使用此选项连接到远程或本地运行的现有Jupyter服务器。找到您的Jupyter服务器的URL,例如,http:// 并将其粘贴到 输入正在运行的Jupyter服务器的URL 选项中,以连接到远程服务器并使用该服务器在您的笔记本中执行代码。

当你启动远程服务器时,请确保:
- 允许所有来源(例如
--NotebookApp允许来源='*') 以允许您的服务器被外部访问。 - 将笔记本设置为监听所有IP地址 (
--NotebookApp.ip='0.0.0.0')。
一旦连接,所有活动的 Jupyter 会话将出现在此列表中。
您可以通过以下方式从服务器的kernelspec创建一个新的会话:
- 运行 笔记本:选择笔记本内核 命令。
- 选择 选择另一个内核.
- 选择 现有的 Jupyter 服务器.
- 选择你的服务器。
代码空间 Jupyter 服务器
连接到Codespace类别包含一种特殊的Jupyter服务器,您可以在其中使用由GitHub Codespaces提供的远程Jupyter服务器,每月可免费获得最多60小时。要使用Codespaces Jupyter服务器:
-
注意:如果你正在使用 VS Code for the Web (vscode.dev 或 github.dev),此扩展已经为你安装。请确保 Jupyter 扩展 也已安装。
-
打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)),选择 Codespaces: 登录 并按照步骤登录 Codespaces。
-
点击 选择内核 在你的笔记本右上角打开内核选择器,选择 连接到代码空间.
提示:如果未看到连接到代码空间选项,请转到命令面板(⇧⌘P(Windows, Linux Ctrl+Shift+P)),选择开发者:重新加载Windows以重新加载Windows并重试。
这不是必须的,但你也可以在GitHub Codespaces 页面上管理所有你的 Codespaces 和 Codespaces Jupyter 服务器。要了解更多信息,你可以阅读GitHub Codespaces 文档。
添加内核选项
如果你的机器上没有Jupyter内核或Python环境,VS Code可以帮助你设置:进入命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)),选择 Python: Create Environment,并按照提示操作。你也可以通过安装额外的扩展,如 Azure Machine Learning,来添加其他选择内核的方式。

问题或反馈
您可以通过在我们的代码库中创建一个功能请求或报告一个问题,来提交需求或反馈问题,我们的工程团队会积极监控和管理这些内容。