Как вы управляете Jupyter Notebooks в репозитории исходного кода?

На прошлой неделе я создал репозиторий git с некоторым кодом записной книжки и начал задаваться вопросом, как же вы могли бы осуществлять управление изменениями (git и т. д.) в этих файлах записной книжки, что со встроенным в них исходным кодом Python.

Затем на днях мне пришлось просмотреть код ноутбука коллеги. Какой беспорядок! Трудно читать различия из-за кэшированного вывода и кода Python, построчно заключенного в JSON.

Есть ли способ составить блокнот из файлов .py на диске по относительному пути или что-то в этом роде? Возможно, другой тип ячейки? Что-то, что позволит мне запускать интерактивные блокноты, которые запускают код из внешних файлов .py, чтобы я мог управлять версиями этих файлов (например, с git), как и все другие мои файлы .py.

Если есть какой-то плагин или что-то, на что вы можете мне указать, пожалуйста. Если это просто невозможно из-за архитектуры Jupyter Notebooks, пожалуйста, объясните это и помогите мне понять, почему для меня.

Если вы уже сталкивались с этой проблемой раньше, как вы ее решили? И если вы столкнулись, но не решили, пожалуйста, посочувствуйте.


person feuGene    schedule 11.02.2020    source источник


Ответы (1)


Вы можете использовать Jupytetxt для простого преобразования блокнотов в .py файлов и обратно.

Возможно, вас заинтересует обсуждение Как управлять версиями ноутбуков Jupyter. В частности, я знаю, что nbdime популярен для сравнения изменений, см. несколько советов по этому поводу в той же теме здесь.

person Wayne    schedule 11.02.2020