Зачем конвертировать PY в IPYNB?
Исследователи и специалисты по данным используют блокноты .ipynb в JupyterLab для интерактивного выполнения кода, просмотра встроенных графиков и добавления пояснений в формате Markdown между секциями кода. Конвертация обычного скрипта .py в .ipynb позволяет запускать его пошагово в этой среде без переписывания кода.
Способы конвертации PY в IPYNB
jupytext OPEN-SOURCE
Выполните pip install jupytext, затем jupytext --to notebook file.py; для достижения наилучшего результата расставьте комментарии # %% в исходном коде .py, чтобы определить границы ячеек перед конвертацией.
Jupyter (nbconvert) FREE
Выполните jupyter nbconvert --to notebook --execute file.py, чтобы конвертировать и запустить скрипт, сохранив результаты выполнения в .ipynb; опустите флаг --execute, чтобы конвертировать без запуска.
Об этих форматах
Файл .py - это файл исходного кода Python, представляющий собой обычный текст, содержащий программу или скрипт, написанный на языке Python. Чтобы прочитать код, откройте его в любом…
Открыть детали .PY →Файл .IPYNB связан с IPython notebook, это файл категории misc.
Открыть детали .IPYNB →Качество и на что обратить внимание
- Границы ячеек определяются автоматически, если маркеры
# %%отсутствуют - добавьте# %%в ваш файл.pyперед конвертацией, чтобы точно контролировать начало каждой ячейки. - Конвертированный файл
.ipynbне содержит результатов выполнения ячеек; графики, выводы print и другие результаты генерируются при запуске блокнота в JupyterLab. - nbconvert воспринимает весь файл
.pyкак одну ячейку кода, если файл еще не содержит маркеров ячеек# In[]:; jupytext обрабатывает обычные скрипты более корректно.
Часто задаваемые вопросы
Будут ли мои импорты и функции Python работать в блокноте так же?
Могу ли я конвертировать блокнот обратно в файл .py?
jupytext --to py file.ipynb, чтобы вернуться к обычному Python-скрипту.В чем разница между jupytext и nbconvert для этой задачи?
# %%; nbconvert встроен в Jupyter и может выполнять код и сохранять результаты во время конвертации.