VSCode:如何将从Jupyter Notebook导入的Python文件导出回Jupyter格式?

5
可能是一个愚蠢的问题,但我找不到答案。Visual Studio Code编辑器有一种非常好的方式与Jupyter Notebooks一起工作。我可以在vscode中直接编辑单元格并运行它们。现在使用版本控制将变得更加容易。
但我找不到将其转换回Notebook的方法!如何从生成的python文件生成Notebook?
我知道Notebook中不会有输出单元格。
4个回答

3
在交互式Python窗口中有一个选项,可以显示笔记本输出: Export option in interactive window 这非常酷,现在您可以在Python文件中工作,并且拥有与您的版本配置系统(Git)具有非常好的界面。
是的,这是一个愚蠢的问题 :-)

请注意,此功能是使用TypeScript实现的(https://github.com/microsoft/vscode-python/blob/master/src/client/datascience/jupyter/jupyterExporter.ts)。 - Isaiah Norton

1
使用 jupytext 库:
安装:
pip install jupytext

现在打开CMD或内部终端到包含.py文件的文件夹

运行以下命令:

jupytext --set-formats py:percent,ipynb filename.ipynb

1

如果你使用VS Code科学Python模式来运行代码单元格(或Atom-Hydrogen),那么Jupytext就没什么用了。但是,Jupytext可以作为一个不错的替代方案:在VS Code中编写代码,但在Jupytext中运行代码单元格。最近,无论是VS Code还是Atom,在Windows上都存在严重的bug,因此拥有第三种选择是不错的。 - Peter Zagubisalo
1
从jupytext自述文件中@PeterZagubisalo说:“它还可以将这些文档转换为Jupyter笔记本,使您可以在两个方向上同步内容。” - Isaiah Norton

1
如果你需要更多控制转换为ipynb的方式(或者你需要交叉引用),那么你可以尝试使用Pandoctools。它可以将VSCode *.py文档导出到任何Pandoc输出格式或Jupyter笔记本中。
例如,你可以创建并注册 Jupyter内核。例如,它可以被命名为"nn"。这应该是与你在VSCode中选择的内核相同的内核(你在那里通过路径选择它,但VSCode仍然在幕后使用已安装的内核规范)。然后将其添加到Python文件中,将文档拆分为单元格,提供设置并设置Markdown单元格(注释的元数据行将导出为pdf而不是ipynb;我建议在nteract本机应用程序中打开ipynb)。
"""
---
kernels-map:
  py: nn
jupyter:
  kernelspec:
    display_name: nn
    language: python
    name: nn
pandoctools:
  # out: "*.pdf"
  out: "*.ipynb"
...

# Markdown section title 1

Some **static** Markdown text.
"""


# %% {echo=False}
import IPython.display as ds
import math
import sugartex as stex


# %% {markdown}
"""
# Markdown section title 2

The quick brown Fox jumps over the lazy dog.
"""


# %%
ds.Markdown(stex.pre(f'''

Some **dynamic** Markdown text with SugarTeX formula: ˎα^˱{math.pi:1.3f}˲ˎ.
It works because of the `Markdown` display option and `sugartex` Pandoc filter.
Acually `stex.pre` is redundant here but it is needed when the text is imported
or read from somewhere instead of being written in the same document.

'''))

然后通过pandoctools转换文件:将文件拖放到pandoctools快捷方式/可执行文件或“打开方式”pandoctools可执行文件。
另请参见:
- 两篇介绍文章在this README的开头, - 输入到输出转换示例,具有交叉引用! - 如何使用Pandoctools及其CLI, - 如何使用Knitty收集Jupyter输出并更改其设置

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接