可能是一个愚蠢的问题,但我找不到它。Visual Studio Code 编辑器有一种非常好的方式来使用 Jupyter Notebooks。我可以直接在 vscode 中编辑单元格并运行它们。现在可以很容易地使用版本控制。
但是我找不到将其转换回笔记本的方法!如何从生成的 python 文件生成一个笔记本?
我知道笔记本中没有输出单元格。
可能是一个愚蠢的问题,但我找不到它。Visual Studio Code 编辑器有一种非常好的方式来使用 Jupyter Notebooks。我可以直接在 vscode 中编辑单元格并运行它们。现在可以很容易地使用版本控制。
但是我找不到将其转换回笔记本的方法!如何从生成的 python 文件生成一个笔记本?
我知道笔记本中没有输出单元格。
Jupytext 库支持 VSCode-Python 使用的基于百分比的单元格格式,以及其他基于文本的笔记本交换格式:
如果您需要更多地控制如何完成到 ipynb 的转换(或者您需要有交叉引用),那么您可以尝试Pandoctools。它可以将 VSCode *.py 文档导出为任何 Pandoc 输出格式或 Jupyter 笔记本。
例如,您可以创建和注册Jupyter 内核。例如可以命名为“nn”。这应该与您在 VSCode 中选择的内核相同(您可以通过路径选择它,但 VSCode 仍然使用已安装的内核规范)。然后将 hat 添加到 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 可执行文件。
另见:
使用 jupytext 库:
安装:
pip install jupytext
现在打开 CMD 或内部终端到包含 .py 文件的文件夹
运行这个:
jupytext --set-formats py:percent,ipynb filename.ipynb