4

可能是一个愚蠢的问题,但我找不到它。Visual Studio Code 编辑器有一种非常好的方式来使用 Jupyter Notebooks。我可以直接在 vscode 中编辑单元格并运行它们。现在可以很容易地使用版本控制。

但是我找不到将其转换回笔记本的方法!如何从生成的 python 文件生成一个笔记本?

我知道笔记本中没有输出单元格。

4

4 回答 4

3

在具有笔记本输出的交互式 Python 窗口中有一个选项:

交互式窗口中的导出选项

这真的很酷,现在您可以在 Python 文件中工作,并且与您的版本配置系统 (Git) 有一个非常好的界面。

是的,这是一个愚蠢的问题:-)

于 2018-11-21T00:23:15.313 回答
1

Jupytext 库支持 VSCode-Python 使用的基于百分比的单元格格式,以及其他基于文本的笔记本交换格式:

https://github.com/mwouts/jupytext

于 2019-08-07T16:31:38.227 回答
1

如果您需要更多地控制如何完成到 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 可执行文件。

另见:

于 2019-05-26T08:07:01.807 回答
0

使用 jupytext 库:

安装:

pip install jupytext

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

运行这个:

jupytext --set-formats py:percent,ipynb filename.ipynb
于 2021-08-02T09:44:33.337 回答