VSCode: Как экспортировать файл Python, который был импортирован из ноутбука Jupyter обратно в формат Jupyter?
Возможно, глупый вопрос, но я не смог его найти. Редактор кода Visual Studio имеет действительно хороший способ работы с ноутбуками Jupyter. Я могу редактировать ячейки прямо в vscode и запускать их. Теперь было бы легко работать с контролем версий.
Но я не смог найти способ превратить его обратно в ноутбук! Как сгенерировать блокнот обратно из сгенерированного файла Python?
Я понимаю, что в ноутбуке не будет выходных ячеек.
4 ответа
В интерактивном окне Python есть опция для вывода в блокноте:
Это действительно круто, теперь вы можете работать в файле Python и иметь действительно хороший интерфейс с вашей системой конфигурации версий (Git).
Да, это был глупый вопрос:-)
Используйте библиотеку jupytext:
Установить:
pip install jupytext
Теперь откройте CMD или внутренний терминал в папке с вашим .py файлом.
Запустите это:
jupytext --set-formats py:percent,ipynb filename.py
Если вам нужен больший контроль над тем, как выполняется преобразование в ipynb (или вам нужны перекрестные ссылки), вы можете попробовать Pandoctools. Он может экспортировать документы VSCode *.py в любой формат вывода Pandoc или в блокнот Jupyter.
Например, вы можете создать и зарегистрировать ядро Jupyter. Например, это может быть названо "nn". Это должно быть то же ядро, которое вы выбрали в VSCode (там вы выбираете его по пути, но VSCode все еще использует спецификации установленных ядер под капотом). Затем добавьте шляпу в файл Python, разделите документ по ячейкам, предоставьте настройки и установите ячейки Markdown (строка метаданных с комментариями экспортируется в pdf вместо ipynb; я рекомендую открыть ipynb в собственном приложении nteract):
"""
---
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.
Также см:
- вводная статья: удобный и легко настраиваемый Atom+Markdown+Pandoc+Jupyter,
- примеры преобразования ввода в вывод, которые имеют перекрестные ссылки!
- как использовать Pandoctools и его CLI,
- как использовать Knitty, который собирает выходные данные Jupyter и меняет его настройки.
Библиотека Jupytext поддерживает формат ячеек на основе процентов, используемый VSCode-Python, а также другие текстовые форматы обмена записными книжками: