在VS Code 中使用Jupyter Notebooks

Jupyter 是一个开源项目,让您轻松地将Markdown文本和可执行的Python源代码组合在一名为 Notebooks 的画布上。Visual Studio Code支持本地与Jupyter Notebooks工作,并运行 Python代码文件 。本主题涵盖可用于 Jupyter Notebooks的本机支持,并演示如何:

  • 创建、打开和保存Jupyter Notebooks
  • 与Jupyter代码单元格配合使用
  • 使用可变资源管理器和数据查看器查看、检查和筛选变量
  • 连接到远程Jupyter服务器
  • 调试Jupyter Notebooks

设置环境 #

要在 Jupyter Notebooks中运行Python 合作,您必须激活 VS 代码中的 Anaconda 环境,或您在Python 环境中安装了 Jupyter package 。要选择环境,请从命令面板( Ctrl+Shift+P )中选择 Python: Select Interpreter 命令。

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

工作空间信托 #

开始使用Notebooks时,您需要确保您在可信的工作空间中工作。有害代码可以嵌入到Notebooks中, 工作空间信任 功能允许您指示哪些文件夹及其内容应允许或限制自动代码执行。

如果您试图在 VS Code 处于运行 受限模式 的不信任工作空间中打开Notebooks,则无法执行单元格,并且将隐藏丰富的输出。

创建或打开JupyterNotebooks #

您可以通过运行 Jupyter 创建 Jupyter Notebooks:从命令面板(Ctrl+Shift+P)选择** Jupyter: Create Blank New Jupyter Notebook **命令,或在工作区创建新文件 .ipynb

接下来,使用右上角的内核拾取器选择内核。

选择内核后,位于每个代码单元右下角的语言选择器将自动更新到内核支持的语言。

如果您有 Jupyter Notebooks,则可以通过右键单击文件并打开 VS 代码或通过 VS 代码文件资源管理器打开它。

运行单元格 #

一旦您拥有了Notebooks,就可以使用单元格左侧的 Run 图标运行代码单元格,输出将直接显示在代码单元格的正下方。

您还可以使用键盘快捷方式运行代码。在命令或编辑模式下,使用 Ctrl+Enter运行当前单元格或 Shift+ Enter`来运行当前单元格并推进到下一个单元格。

您可以使用 Run All , Run All Above , or Run All Below "来运行多个单元格。

保存您的Jupyter Notebooks #

您可以使用键盘快捷方式 Ctrl+S or File > Save 保存您的 Jupyter Notebooks。

导出您的Jupyter Notebooks #

您可以导出一个Jupyter Notebooks作为Python文件,PDF,或HTML文件。要导出,请选择主工具栏上的 导出 操作。然后,您将收到文件格式下拉列表选项。 .py

**注:**对于PDF导出,您必须 安装TeX。 如果没有,将通知您在选择 PDF 选项时需要安装它。此外,请注意,如果您的Notebooks中只有 SVG 输出,则不会在 PDF 中显示它们。要将 SVG 图形放在 PDF 中,请确保输出包含非 SVG 图像格式,或者您可以首先导出到 HTML,然后使用浏览器保存为 PDF。

与Notebooks编辑器中的代码单元格配合使用 #

Notebooks编辑器使创建、编辑和运行Jupyter Notebooks中的代码单元格变得容易。

Create a code cell #

By default, a blank Notebook will have an empty code cell for you to start with.

msg = "Hello world"
print(msg)

代码单元格模式#

在处理代码单元时,单元格可以处于三种状态:未选定、命令模式和编辑模式。单元格的当前状态由代码单元和编辑器边框左侧的垂直条表示。当看不到栏时,单元格是未选择的。

选择单元格时,它可以处于两种不同的模式。它可以处于命令模式或编辑模式。当单元格处于命令模式时,可以操作并接受键盘命令。当单元格处于编辑模式时,可以修改单元格的内容(代码或标记)。

当单元格处于命令模式时,单元格左侧会出现一个实心垂直条。

当您处于编辑模式时,实体垂直条由单元格编辑器周围的边框连接。

要从编辑模式移动到命令模式,请按Esc。要从命令模式移动到编辑模式,请按enter。您还可以通过鼠标单击单元格左侧的垂直条或代码单元中的代码/标记区域外部来更改模式。

添加其他代码单元格#

代码单元可以使用主工具栏、单元格工具栏(悬停可见)的添加单元格和键盘命令添加到Notebooks上。

使用主工具栏中的加号图标和单元的悬停工具栏将在当前选定的单元格正下方添加一个新单元格。

当代码单元处于命令模式时,A键可用于在所选单元格上面添加单元格,B可用于在所选单元格下方添加单元格。

选择代码单元#

所选代码单元可以使用鼠标、键盘上的上下箭头键以及J(向下)和K(向上)键进行更改。要使用键盘,单元格必须处于命令模式。

选择多个代码单元#

要选择多个单元格,请从一个处于选定模式的单元格开始。如果您要选择连续的单元格,请按住Shift并单击要选择的最后一个单元格。如果您要选择任何组单元格,请按住Ctrl并单击您希望添加到所选单元中的单元格。

选定的单元格将填充背景。

运行单个代码单元#

添加代码后,您可以使用单元格左侧的Run图标运行单元格,输出将显示在代码单元格下方。

您还可以使用键盘快捷方式运行选定的代码单元。Ctrl+Enter运行当前选定的单元格,Shift+Enter运行当前选定的单元格并在下方插入新单元格(焦点移动到新单元格),Alt+Enter运行当前选定的单元格并立即插入下面的新单元格(焦点仍停留在当前单元格上)。这些键盘快捷方式可用于命令和编辑模式。

运行多个代码单元#

运行多个代码单元可以通过多种方式完成。您可以使用Notebooks编辑器主工具栏中的双箭头运行Notebooks或运行图标中的所有单元格,在单元格工具栏中使用定向箭头运行当前代码单元上方或下方的所有单元格。

移动代码单元#

通过拖放,可以在Notebooks内上下移动单元格。对于代码单元,拖放区域位于下图所示的单元格编辑器的左侧。对于渲染的Markdown单元,您可以单击任意位置来拖放单元格。

要移动多个单元格,您可以在选择包含的任何单元格中使用相同的拖放区域。

您还可以使用键盘快捷方式Alt+Arrow移动一个或多个选定的单元格。

删除代码单元格#

删除代码单元可以通过在代码单元工具栏中使用**“删除”**图标或在所选代码单元处于命令模式时通过键盘快捷方式dd来完成。

撤消您上次更改#

您可以使用z键撤消以前的更改,例如,如果您进行了意外编辑,则可以将其撤至以前的正确状态,或者如果您意外删除了单元格,则可以恢复它。

代码和Markdown之间的切换#

Notebooks编辑器允许您轻松地在Markdown和代码之间更改代码单元。单击单元格右下角的语言选择器将允许您在 Markdown 和(如果适用)所选内核支持的任何其他语言之间切换。

您也可以使用键盘更改单元格类型。当选择单元格并在命令模式下时,M键将单元格类型切换到标记,Y键将单元格类型切换到代码。

设置Markdown标记后,您可以将Markdown标记格式内容输入代码单元格。

要渲染标记单元,您可以在单元格工具栏中选择复选标记,或使用Ctrl+entershift+enter键盘快捷方式。

清除输出或重新启动/中断内核#

如果您要清除所有代码单元格输出或重新启动/中断内核,您可以使用Notebooks编辑器主工具栏完成该任务。

启用/禁用行号#

当您处于命令模式时,您可以使用L键启用或禁用单个代码单元内的行编号。

要切换整个Notebooks的行编号,请在任何单元格上处于命令模式时使用Shift+L

内容表#

要浏览Notebooks,请在活动栏中打开文件资源管理器。然后在侧栏中打开大纲选项卡。

**注:**默认情况下,大纲只会显示Markdown。要显示代码单元,启用以下设置:Notebook > Outline: Show Code Cells

Jupyter Notebooks编辑器中的智能感应支持#

Python JupyterNotebooks编辑器窗口有完整的InterelliSense:代码完成、成员列表、方法的快速信息和参数提示。您可以在Notebooks编辑器窗口中进行与在代码编辑器中一样高效的键入。

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

在 Python Notebooks中,可以查看、检查、排序和过滤当前 Jupyter 会话中的变量。通过在运行代码和单元之后在主工具栏中选择变量图标,您将看到当前变量的列表,该列表将随着变量在代码中使用而自动更新。变量窗格将在Notebooks底部打开。

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

保存plots#

要从Notebooks上保存绘图,只需将鼠标悬停在输出上,然后选择右上角的**“保存”**图标。

**注:**支持用垫片阿尔泰尔制作的渲染图。

自定义Notebook的差异#

在幕后,Jupyter Notebooks 是 JSON 文件。 JSON 文件中的段被呈现为由三个组件组成的单元格:输入、输出和元数据。 使用基于行的差异比较笔记本中所做的更改非常困难且难以解析。 笔记本的丰富差异编辑器使您可以轻松查看单元格每个组件的更改。

您甚至可以自定义要在差异视图中显示的更改类型。 在右上角,选择工具栏中的溢出菜单项以自定义要包含的单元格组件。 输入差异将始终显示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uJFRBkB1-1628686686935)(https://code.visualstudio.com/assets/docs/datascience/jupyter/notebook-diffing.png)]

要了解有关 VS 代码中的 Git 集成的更多信息,请访问VS 代码中的版本控制

调试Jupyter Notebooks#

如果您需要额外的调试支持才能诊断代码单元中的问题,您可以将其导出为 Python 文件。一旦作为 Python 文件导出,VS 代码调试器可让您浏览代码、设置断点、检查状态和分析问题。使用调试器是查找和纠正Notebooks代码问题的有用方法。要调试您的 Python 文件:

  1. 在 VS 代码中,如果您尚未激活安装 Jupyter 的 Python 环境。

  2. 从您的JupyterNotebooks,选择主工具栏中的导出按钮。.ipynb

    将Jupyter Notebooks转换为 Python 文件

    导出后,您将有一个带有代码的文件,可用于调试。.py

  3. 保存文件后,要启动调试器,请使用以下选项之一:.py

    • 对于整个Notebooks,打开命令面板(Ctrl+Shift+P),并运行Python: Python 交互窗口命令中的调试当前文件
    • 对于单个单元格,使用显示在单元格上方的调试单元格操作。调试器从该单元格中的代码开始。默认情况下,调试单元格会步入用户代码。如果您想进入非用户代码,则需要取消选中数据科学:在 Python 扩展设置(Ctrl+,)中Data Science: Debug Just My Code"。
  4. 要熟悉 VS 代码的一般调试功能,如检查变量、设置断点和其他活动,可以查看VS 代码调试

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

  6. 当您确信所有代码都正确时,请使用 Python 交互窗口将 Python 文件导出为 Jupyter Notebooks。.ipynb

连接到远程Jupyter服务器#

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

要连接到远程Jupyter服务器:

  1. 在状态工具栏中选择Jupyter Server: local按钮或运行命令面板(Ctrl+Shift+P)的 Jupyter: Specify local or remote Jupyter server for connections连接命令。

    指定远程Jupyter服务器

  2. 当提示选择如何连接到Jupyter时,选择现有:指定现有服务器的URI。

    选择连接到现有服务器

  3. 当提示输入 Jupyter 服务器的 URI时,请向服务器的 URI(主机名)提供包含 URL 参数的认证令牌。(如果您在启用身份验证令牌的情况下在 VS 代码终端中启动服务器,则带有令牌的 URL 通常会显示在终端输出中,您可以从该输出中复制它。或者,在提供 URI 后,您还可以指定用户名和密码。?token=

    提示提供Jupyter服务器URI

**注:**为了增加安全性,Microsoft 建议配置您的 Jupyter 服务器,并配备安全防范措施,如 SSL 和令牌支持。这有助于确保发送到 Jupyter 服务器的请求经过身份验证,并加密到远程服务器的连接。有关保护Notebooks电脑服务器的指导,请参阅Jupyter 文档

这是来自的分支。希望我有时间添加一些更酷的功能! 面向数据科学家的交互式编程体验 VSNotebooks是一个强大的应用程序,将Visual Studio Code的功能与Jupyter Notebook的交互性无缝结合在一起。 此插件正在积极开发。想帮忙?提出一个问题,我可以帮助您开始! 为什么选择这个而不是其他叉子? 自定义环境支持 更好的样式,更好地利用空间。 单元支持(在beta上可用! //marketplace.visualstudio.com/items? ) 更好的错误信息 原始存储库不存在许多错误修复 Jupyter :提供Jupyter基本支持 Jupyter Keymap : 提供Jupyter快捷键支持 Jupyter Notebook Renderer :渲染和解析器,渲染例如gif、png、plotly等格式 2、使用 安装插件之后,直接创建后缀为.ipynb的文件,打开即可像Jupyter Notebook一样使用。 Learn how to write code, mathematics, graphics, and output, all in a single document, as well as in a web browser using Project Jupyter Jupyter Notebook is a web-based environment that enables interactive computing in notebook documents. It allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. The Jupyter Notebook system is extensively used in domains such as data cleaning and transformation, numerical simulation, statistical modeling, machine learning, and much more. This book starts with a detailed overview of the Jupyter Notebook system and its installation in different environments. Next we’ll help you will learn to integrate Jupyter system with different programming languages such as R, Python, JavaScript, and Julia and explore the various versions and packages that are compatible with the Notebook system. Moving ahead, you master interactive widgets, namespaces, and working with Jupyter in a multiuser mode. Towards the end, you will use Jupyter with a big data set and will apply all the functionalities learned throughout the book. Table of Contents 1: INTRODUCTION TO JUPYTER 2: JUPYTER PYTHON SCRIPTING 3: JUPYTER R SCRIPTING 4: JUPYTER JULIA SCRIPTING 5: JUPYTER JAVASCRIPT CODING 6: INTERACTIVE WIDGETS 7: SHARING AND CONVERTING JUPYTER NOTEBOOKS 8: MULTIUSER JUPYTER NOTEBOOKS 9: JUPYTER SCALA 10: JUPYTER AND BIG DATA 按‘esc’,末行模式操作,注意这里有可能会不成功,经验是:如果vim打开的时候没有让你选打开模式,那一般都没问题,如果没有直接保存退出,那就按照提示慢慢操作吧首先要保证能够用IP访问到远程机,这是一切的前提在远程机上配置Jupyter,但是配置了之后启动Jupyter并出现像其他博客那样带密码token的URL,所以每次在VS Code打开窗口仍然需要输入Jupyter密码在Mac本地和VS Code配置SSH密钥实现免密登录终端ssh登录,启动Jupyter。 关于在Visual Studio Code使用jupyter notebook插件进行python编写时遇到的pyzmq版本过新,卸载后安装19.0.2版本报错的解决方案……结论:所以针对pyzmq版本问题导致的jupyter报错不要再安装19.0.2版本啦,安装23.0.0或者23.2.1版本都可以(23.1.0和23.2.0版本我没有测试过,但我觉得应该也可以) from matplotlib import pyplot as plt %matplotlib inline img_dir='/Users/eric/Documents/data/wheel_train_val/train/non_defect/'\nfilename='00005.BMP_block_8.jpg' "notebook-intellisense.trace.server.verbosity": "Verbose", "notebook-intellisense.logLevel": "Trace" https://github.com/microsoft/vscode-jupyter/issues/8374 https://githu 本文主要介绍如何在VS Code安装Jupyter Notebook的扩展并创建notebook文件,并在notebook运行python代码。同时,介绍使用Jupyter notebook运行python代码的好处。 (以前称为IPython)是一个开源项目,它允许您在一个称为笔记本的 画布上轻松组合Markdown文本和可执行Python源代码。 要使用Jupyter笔记本,必须在VS Code或其他安装了Jupyter软件包的 Python环境激活Anaconda环境。要选择环境,请使用命令选项板的Python:Select ...