Visual studio code VSCode:如何将从Jupyter笔记本导入的python文件导出回Jupyter格式?

Visual studio code VSCode:如何将从Jupyter笔记本导入的python文件导出回Jupyter格式?,visual-studio-code,jupyter-notebook,vscode-python,Visual Studio Code,Jupyter Notebook,Vscode Python,可能是个愚蠢的问题,但我找不到。VisualStudioCodeEditor提供了一种非常好的方法来编辑代码。我可以直接在vscode中编辑单元格并运行它们。现在使用版本控制就很容易了 但是我找不到办法把它转换回笔记本!如何从生成的python文件生成笔记本 我知道笔记本里不会有输出单元 交互式Python窗口中有一个选项,该选项具有笔记本输出: 这真的很酷,现在您可以在Python文件中工作,并且与您的版本配置系统(Git)有一个非常好的接口 是的,这是一个愚蠢的问题:-)如果您需要更多地控

可能是个愚蠢的问题,但我找不到。VisualStudioCodeEditor提供了一种非常好的方法来编辑代码。我可以直接在vscode中编辑单元格并运行它们。现在使用版本控制就很容易了

但是我找不到办法把它转换回笔记本!如何从生成的python文件生成笔记本


我知道笔记本里不会有输出单元

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

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


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

如果您需要更多地控制到ipynb的转换方式(或者需要交叉引用),那么您可以尝试一下。它可以将VSCode*.py文档导出为任何Pandoc输出格式或Jupyter笔记本

例如,您可以使用Jupyter内核。例如,可以将is命名为“nn”。这应该是您在VSCode中选择的同一个内核(在这里,您通过路径选择它,但VSCode仍然在后台使用已安装的内核规范)。然后将hat添加到Python文件中,将文档拆分为单元格,提供设置并设置标记单元格(注释的元数据行将导出为pdf而不是ipynb;我建议在本机应用程序中打开ipynb):

然后通过pandoctools转换文件:将文件拖放到pandoctools快捷方式/可执行文件或“打开时使用”pandoctools可执行文件

另见:

  • 两篇介绍性文章在
  • 有交叉引用的输入到输出转换的数量
  • 如何使用,以及
  • 如何使用它收集Jupyter输出并更改其性能

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


请注意,如果使用VS Code Scientific Python模式运行代码单元(或Atom Hydroh),则此功能是无效的。但是Jupytext是一个很好的替代方案:在VS代码中编写代码,但在Jupytext中运行代码单元。到目前为止,VS代码和Atom在Windows上都有严重的错误,所以有第三种选择是很好的。@jupytext自述文件中的PeterZagubisalo:“它还可以将这些文档转换成Jupyter笔记本,允许您在两个方向上同步内容。”
"""
---
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.

'''))