VS Code下3个字符让.py秒变Jupyter Notebook


# %%msg = "Hello World"print(msg)# %%msg = "Hello Notebook"print(msg)
上面这段代码用 VS Code 打开是什么样的?

是不是看到了熟悉的 Jupyter Notebook?
是的,就是#%%这三个字符,让 VS Code 把看似普通的 Python 文件(当然可以当成普通 Python 文件直接执行)处理成 Jupyter Notebook。

这样做有如下几个优点
1:使用.py 文件可轻松管理文件
首先,.py方便 Git 系统管理。对于.ipynb文件,内容的排列方式类似于 JSON,因此很难检查 Git 上的差异。有时.ipynb内容已损坏,并且根本无法打开文件。
同时,您无需在 Jupyter 环境中打开文件即可浏览源代码或者直接执行它。
2:不生成.ipynb_checkpoints
如果你觉得.ipynb_checkpoints 有用,可以忽略这个优点,我个人并不喜欢它。
3:快速响应
使用 VS Code 打开.ipynb文件时,用户选择文件后要花很长时间才能读取文件并显示代码块。但打开.py格式文件时的响应非常快,因此许多人可能会觉得使用 VS Code 处理.ipynb很困难。
4:易于重启(终止)内核
从再次查看第一个图像可以看到,如果使用此功能,执行结果将输出到右侧的单独窗口中。实际上,它就像一个 Jupyter 环境,但是直到现在,如果要重新启动或退出内核,.ipynb格式文件,则必须保存一次,将其关闭,然后重新打开。另外,如前面 3 中所述,.ipynb打开时响应通常很慢且令人沮丧……但是,如果您想通过使用.py文件打开 Jupyter 环境来重启(终止)内核,则可以只需关闭 Jupyter 窗口即可,压力会减轻很多。
5:仍可使用与 Jupyter 相同的功能
使用 VS Code 处理 Jupyter 文件的优点之一是可以检查变量的存储状态。除了可以从 Jupyter 窗口检查变量的存储状态。Jupyter 窗口的底部还有Type code here and press shift-enter to run区域,可以在其中快速执行任何代码。之所以方便,是因为它可以在不需要将其写入打印语句之类的文件中但想要检查情况时使用。
6:易于管理每个项目
VS Code 具有一项称为“工作区”的功能,该功能使您可以管理每个项目的环境和代码。对于 Python 项目也是如此,其中多个项目放在一台计算机上,例如 Python 执行环境和代码所在的目录,以及上次打开工作区时打开的文件。如果您这样做(我想大多数人都这样做),这是一个有用的功能。另外,由于可以为每个工作区管理 Python 执行环境,所以它不是一个有用的功能,特别是对于那些使用 Virtualenv,Pipenv 等的人而言吗?
7:不使用 Chrome 标签!
这对于大量使用 Chrome 的用户来说非常重要。Jupyter Notebook 页面没有选项卡,并且图标甚至更易于查看。

嗯,标签太多了,我敢肯定是因为这个原因。
8:与 WSL 高度兼容(仅 Windows 用户)
最后一个优点是与 WSL 的相似性。许多 Windows 用户已经熟悉 WSL,而 WSL 最近一直在蓬勃发展,因此能够在 Windows 中设置 Linux 环境(例如 Ubuntu)非常有用。在此 WSL 和 VS 代码中,有一个专用于 WSL 的扩展功能,因此可以方便地处理它。通过使用它,您可以在 WSL 环境中更方便地操作 Python 环境。
9:可以导出 Jupyter Notebook

除了打开 Jupyter 笔记本之外,您还可以使用命令面板(⇧⌘P)中的以下命令之一,将内容从 VS Code 中的 Python 文件导出到 Jupyter 笔记本(带有.ipynb 扩展名)。
Jupyter:将当前的 Python 文件导出为 Jupyter Notebook:使用# %%和# %% [markdown]分隔符指定各自的单元格类型,从当前文件的内容创建 Jupyter Notebook。Jupyter:将当前的 Python 文件导出并输出为 Jupyter Notebook:从当前文件的内容创建 Jupyter Notebook,并包括代码单元的输出。Jupyter:将 Interactive Window 导出为 Jupyter Notebook:从 Python Interactive 窗口的内容创建 Jupyter Notebook。
最后,动手把你的ipynb转为py吧。
参考资料
[1]
Working with the Python Interactive window: https://code.visualstudio.com/docs/python/jupyter-support-py[2]
まだ Jupyter Notebook 使ってるの? VS Code で Jupyter 生活 (.py)で快適 Python ライフを?!: https://qiita.com/386jp/items/f023de9457c99b964a85
到顶部