在Visual Studio Code中使用Jupyter Notebook

Jupyter
(以前称为IPython)是一个开源项目,它允许您在一个称为笔记本的
画布上轻松组合Markdown文本和可执行Python源代码。

要使用Jupyter笔记本,必须在VS Code或其他安装了Jupyter软件包的
Python环境中激活Anaconda环境。要选择环境,请使用命令选项板中的Python:Select Interpreter
命令(⇧⌘P
)。

激活适当的环境后,您可以创建和运行类似Jupyter的代码单元,连接到远程Jupyter服务器以运行代码单元,直接打开Jupyter笔记本,并将Python文件导出为Jupyter笔记本。

Jupyter代码单元格#

您可以使用#%%
注释在Python代码中定义类似Jupyter的代码单元:

#%%
msg = "Hello World"
print(msg)

#%%
msg = "Hello again"
print(msg)

当Python扩展检测到代码单元时,它会添加Run Cell
Run Below
CodeLens装饰,以及在第一个之后为所有单元格Run Above

Jupyter在VS Code编辑器中为代码单元装饰

“运行单元”
仅适用于一个代码单元。“运行以下”
适用于该代码单元及其后续所有内容。Run Above
适用于所有代码单元格,但不包括带装饰的单元格。例如,您可以使用Run Above
在运行特定单元格之前初始化运行时环境的状态。

选择命令会启动Jupyter(如果需要,可能需要一分钟),然后在Python交互式窗口中运行相应的单元格:

在Python Interactive窗口中运行的代码单元

您还可以使用Python
运行代码单元:在Python终端中运行选择/行命令(Shift + Enter
)。使用此命令后,Python扩展会自动将光标移动到下一个单元格。如果您位于文件的最后一个单元格中,则扩展会自动#%%
为新单元格插入另一个分隔符,模仿Jupyter笔记本的行为。

Python交互式窗口#

上一节中提到的Python交互式窗口可以用作具有任意代码的独立控制台(带或不带代码单元)。该窗口还支持Visual Studio Live Share

要将窗口用作控制台,请使用命令选项板中的Python:Show Python Interactive窗口
命令将其打开。然后,您可以输入代码,使用Enter
转到新行,按Shift + Enter
运行代码。

要将窗口与文件一起使用,请使用命令选项板中的“在Python交互中运行当前文件”窗口
命令。

变量资源管理器和数据查看器#

在Python交互式窗口中,可以查看,检查和过滤当前Jupyter会话中的变量。通过在运行代码和单元格后展开“ 变量”
部分,您将看到当前变量的列表,这些变量将在代码中使用变量时自动更新。单击每个列标题将允许您对表中的变量进行排序。

变量浏览器

有关变量的其他信息,还可以双击行或使用数据查看器中
显示变量按钮在数据查看器中查看变量的更详细视图。打开后,您可以通过搜索行来过滤值。

数据查看器

注意:
默认情况下启用变量资源管理器,但可以在设置中关闭变量资源管理器(Python>数据科学:显示Jupyter变量资源管理器)。

连接到远程Jupyter服务器#

您可以通过连接到远程Jupyter服务器将Jupyter笔记本中的密集计算卸载到其他计算机。连接后,代码单元在远程服务器而不是本地计算机上运行。

要连接到远程Jupyter服务器:

  1. 运行Python:
    从命令选项板(⇧⌘P
    指定Jupyter服务器URI命令。

  2. 出现提示时,提供服务器的URI(主机名)以及?token=
    URL参数中包含的身份验证令牌。(如果在启用了身份验证令牌的VS Code终端中启动服务器,则带有令牌的URL通常会显示在您可以复制它的终端输出中。)

    提示提供Jupyter服务器URI

  3. Python交互式窗口通过显示URI(在下图中模糊了)来指示代码的运行位置:

    Python交互式窗口显示代码在远程Jupyter服务器上运行

打开Jupyter笔记本#

当您激活安装了Jupyter的环境时,可以将.ipynb
VS代码中的Jupyter笔记本文件()导入为Python代码。导入文件后,您可以像运行任何其他Python文件一样运行代码,也可以使用VS Code调试器。在VS Code中打开和调试笔记本是查找和解决代码错误的便捷方式,这在Jupyter笔记本中很难直接进行。

当您打开笔记本文件时,Python扩展会提示您将笔记本导入为Python代码文件:

提示导入Jupyter笔记本文件

选择Import
,等待几秒钟,然后VS Code在无标题文件中打开转换后的笔记本。笔记本的单元格在Python文件中用#%%
注释分隔; Markdown单元格完全转换为前面带有的注释#%% [markdown]
,并在交互式窗口中呈现为HTML以及代码和输出(如图形):

Jupyter笔记本在VS Code和Python交互式窗口中运行

如果在不导入的情况下打开文件,它将显示为纯文本。

注意:
第一次在笔记本文件中运行代码时,Python扩展会启动Jupyter服务器。服务器可能需要一些时间才能启动,并且Python Interactive
窗口可能会显示代码的结果。

调试Jupyter笔记本#

Visual Studio代码调试器允许您单步执行代码,设置断点,检查状态和分析问题。使用调试器是查找和更正笔记本代码中的问题的有用方法。

  1. 在VS Code中,激活安装了Jupyter的Python环境,如本文开头所述。

  2. 将笔记本的.ipynb
    文件导入VS Code,如上一节所述。(如果您使用的是基于云的Jupyter环境,例如Azure笔记本,
    请先下载该文件。)

  3. 按照说明配置和运行调试器,如配置和运行调试器
    .ipynb
    当然使用导入的文件,并在笔记本代码中的适当位置设置断点。

  4. 要熟悉VS代码的常规调试功能,例如检查变量,设置断点和其他活动,请查看VS代码调试

  5. 当您发现问题时,请停止调试器,更正代码,保存文件,然后再次运行调试器。

  6. 如果您对所有代码都正确感到满意。保存文件,然后按照以下部分中的说明导出笔记本。然后,您可以将笔记本上载到普通的Jupyter环境中。

导出Jupyter笔记本#

除了打开Jupyter笔记本外,您还可以使用命令选项板(⇧⌘P
)中的以下命令之一将内容从VS Code导出到Jupyter笔记本(带.ipynb
扩展名)。

  • Python:将当前Python文件导出为Jupyter Notebook

    :根据当前文件的内容创建一个Jupyter笔记本,使用#%%

    #%% [markdown]

    分隔符指定它们各自的单元格类型。

  • Python:将当前Python文件和输出导出为Jupyter Notebook

    :根据当前文件的内容创建一个Jupyter笔记本,并包含代码单元格的输出。

  • Python:将Python Interactive窗口导出为Jupyter Notebook

    :从Python交互窗口的内容创建一个Jupyter笔记本。

导出内容后,VS Code会显示一个提示,您可以通过该提示在浏览器中打开笔记本。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐