[Python] 在VSCode中使用 Python[7] - Python交互窗口(Jupyter)

英文原文:https://code.visualstudio.com/docs/python/jupyter-support-py

  Jupyter(以前称为 IPython Notebook)是一个开源项目,可让您在称为笔记本的画布上轻松组合 Markdown 文本和可执行 Python 源代码。 Visual Studio Code 支持本机以及通过 Python 代码文件使用 Jupyter Notebook。本主题涵盖通过 Python 代码文件提供的支持,并演示如何:

  • 使用类似 Jupyter 的代码单元
  • 在 Python 交互式窗口中运行代码
  • 使用变量资源管理器和数据查看器查看、检查和过滤变量
  • 连接到远程 Jupyter 服务器
  • 调试 Jupyter 笔记本
  • 导出 Jupyter 笔记本

  要使用 Jupyter 笔记本,必须在 VS Code 中激活 Anaconda 环境,或者已安装 Jupyter 包的另一个 Python 环境。要选择环境,请使用“Python: Select Interpreter”命令 (Ctrl+Shift+P)。

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

Jupyter 代码单元

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

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

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

注意:确保将上面显示的代码保存在扩展名为 .py 的文件中。

  当 Python 扩展检测到代码单元时,它会添加 Run Cell 和 Debug Cell CodeLens 装饰。第一个单元格还包括“下面运行”,所有后续单元格都包括“上面运行”:

在这里插入图片描述

注意:默认情况下,调试单元仅进入用户代码。如果要单步执行非用户代码,则需要在 Jupyter 扩展设置中取消选中“Debug Just My Code”(Ctrl+,)。

  运行单元仅适用于一个代码单元。 “Run Below”出现在第一个单元格上,运行文件中的所有代码。 “Run Above”适用于所有代码单元格,直到(但不包括)带有装饰的单元格。例如,您可以使用 Run Below 在运行该特定单元之前初始化运行时环境的状态。

 选择命令启动 Jupyter(如有必要,这可能需要一分钟),然后在 Python 交互窗口中运行相应的单元格:
在这里插入图片描述
  您还可以使用 (Ctrl+Enter) 或 Python: Run Selection/Line in Python Terminal 命令 (Shift+Enter) 中运行选择/行来运行代码单元。使用此命令后,Python 扩展会自动将光标移动到下一个单元格。如果您位于文件的最后一个单元格中,扩展程序会自动为新单元格插入另一个 # %% 分隔符,模仿 Jupyter 笔记本的行为。

  您还可以单击行号左侧的空白处来设置断点。然后,您可以使用调试单元启动该代码单元的调试会话。调试器在断点处停止执行,并允许您一次单步执行一行代码并检查变量(有关详细信息,请参阅调试)。

其他命令和键盘快捷键

  下表列出了使用代码单元时支持的其他命令和键盘快捷键。

在这里插入图片描述

使用 Python 交互窗口

  上一节中提到的 Python 交互窗口可以用作具有任意代码(带或不带代码单元)的独立控制台。要将窗口用作控制台,请使用命令面板中的 Jupyter:创建交互式窗口命令将其打开。然后,您可以输入代码,使用 Enter 转到新行,然后使用 Shift+Enter 运行代码。

  要将窗口与文件一起使用,请使用命令面板中的 Jupyter: Run Current File in Python Interactive Window 命令。

IntelliSense

  Python 交互窗口具有完整的 IntelliSense – 代码完成、成员列表、方法的快速信息和参数提示。您可以像在代码编辑器中一样高效地在 Python 交互式窗口中键入内容。

在这里插入图片描述

绘图查看器

  绘图查看器使您能够更深入地处理绘图。在查看器中,您可以平移、缩放和导航当前会话中的绘图。您还可以将绘图导出为 PDF、SVG 和 PNG 格式。
  在 Python 交互窗口中,双击任意图以在查看器中将其打开,或选择图左上角的展开按钮。

在这里插入图片描述

注意:Python 交互式窗口支持渲染使用 matplotlib 和 Altair 创建的绘图。

变量浏览器和数据查看器

  在 Python 交互窗口中,可以查看、检查和过滤当前 Jupyter 会话中的变量。运行代码和单元格后,选择交互式窗口工具栏中的“变量”按钮以打开“变量资源管理器”,您将看到当前变量的列表,该列表将在代码中使用变量时自动更新。
在这里插入图片描述
  有关变量的其他信息,您还可以双击行或使用“Show variable in data viewer”按钮在数据查看器中查看变量的更详细视图。打开后,您可以通过搜索行来过滤值。

在这里插入图片描述

连接到远程 Jupyter 服务器

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

连接到远程 Jupyter 服务器:

  1. 运行 Jupyter:从命令面板 (Ctrl+Shift+P) 指定本地或远程 Jupyter 服务器进行连接命令。

  2. 选择您希望如何连接到 Jupyter 服务器。
    在这里插入图片描述

  3. 如果远程工作,请在出现提示时提供服务器的 URI(主机名)以及 ?token= URL 参数中包含的身份验证令牌。 (如果在启用了身份验证令牌的 VS Code 终端中启动服务器,则带有令牌的 URL 通常会出现在终端输出中,您可以从其中复制它。)或者,您可以在提供 URI 后指定用户名和密码。

在这里插入图片描述

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

在这里插入图片描述

注意:为了提高安全性,Microsoft 建议使用 SSL 和令牌支持等安全预防措施配置 Jupyter 服务器。这有助于确保发送到 Jupyter 服务器的请求经过身份验证,并且到远程服务器的连接经过加密。有关保护笔记本服务器的指南,请参阅 Jupyter 文档

将 Jupyter Notebook 转换为 Python 代码文件

  激活安装了 Jupyter 的环境后,可以在 VS Code 中打开 Jupyter 笔记本文件 (.ipynb),然后将其转换为 Python 代码。转换文件后,您可以像处理任何其他 Python 文件一样运行代码,还可以使用 VS Code 调试器。在 VS Code 中打开和调试笔记本是查找和解决代码错误的便捷方法,而直接在 Jupyter 笔记本中很难做到这一点。

  当您打开笔记本文件时,Visual Studio Code 将自动在笔记本编辑器中打开它。使用工具栏上的转换图标将 Notebook (.ipynb) 文件转换为 Python 文件 (.py)。
在这里插入图片描述
  选择转换图标,然后选择“Python 脚本”,等待几秒钟,然后 VS Code 将在无标题文件中打开转换后的笔记本。笔记本的单元格在 Python 文件中用 # %% 注释分隔; Markdown 单元格将完全转换为前面带有 # %% [markdown] 的注释,并在交互式窗口中与代码和输出(例如图表)一起呈现为 HTML:

在这里插入图片描述

注意:首次运行 Python 文件中的代码单元时,Python 扩展会启动 Jupyter 服务器。服务器启动以及包含代码结果的 Python 交互窗口可能需要一些时间

调试 Jupyter 笔记本

  Visual Studio Code 调试器可让您单步执行代码、设置断点、检查状态和分析问题。使用调试器是查找和纠正笔记本代码中问题的有效方法。

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

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

  3. 要启动调试器,请使用以下选项之一:

    • 对于整个笔记本,打开命令面板 (Ctrl+Shift+P) 并运行 Jupyter:在 Python 交互窗口中调试当前文件命令。
    • 对于单个单元格,请使用单元格上方显示的“调试单元格”装饰。调试器专门从该单元中的代码开始。默认情况下,调试单元仅进入用户代码。如果要单步执行非用户代码,则需要在 Jupyter 扩展设置中取消选中“仅调试我的代码”(Ctrl+,)
  4. 要熟悉 VS Code 的一般调试功能(例如检查变量、设置断点和其他活动),请查看 VS Code 调试。

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

  6. 当您对所有代码都正确感到满意时。保存文件,然后按照以下部分所述导出笔记本。然后,您可以将笔记本上传到正常的 Jupyter 环境。

导出 Jupyter 笔记本

  除了打开 Jupyter 笔记本之外,您还可以使用命令面板 (Ctrl+Shift+P) 中的以下命令之一将 VS Code 中的 Python 文件中的内容导出到 Jupyter 笔记本(扩展名为 .ipynb)。

  • Jupyter: Export Current Python File as Jupyter Notebook:从当前文件的内容创建 Jupyter 笔记本,使用 # %% 和 # %% [markdown] 分隔符指定它们各自的单元格类型。
  • Jupyter: Export Current Python File and Output as Jupyter Notebook:根据当前文件的内容创建 Jupyter 笔记本,并包含代码单元的输出。
  • Jupyter: Export Interactive Window as Jupyter Notebook:根据 Python 交互窗口的内容创建 Jupyter 笔记本。

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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值