在 Jupyter 笔记本上进行协作

数据挖掘 朱庇特
2021-09-24 22:43:54

我已经准备了一些发现的 Jupyter Notebook,并通过 GitHub 与其他团队成员分享,以获得他们的书面反馈。当一起处理一段代码时,它曾经像这样工作,但不适用于 Jupyter Notebook。在 GitHub 中,这意味着评论 HTML 或 JSON 级别(.ipynb 文件的内部标记),而不是文档级别。另一种方法是让团队成员克隆存储库并将内联注释放入文档中。这是我想避免的其他团队成员的额外努力。

在 Jupyter Notebooks 上工作时,您的协作、同行评审和提供反馈的方式是什么?

4个回答

与 Colab、Kaggle 等不同, CoCalc为 Jupyter notebook 提供了实时协作功能。您只需将项目拖放 ipynb 和数据文件,添加协作者,每个人都可以同时编辑所有内容。您还可以在共享服务器上公开共享内容。我认为 CoCalc 是目前整体上最成熟的实时 Jupyter 协作平台(并且它是唯一的开源平台4),但Deepnote是另一个更专注于数据科学的选择(但是是闭源的)。

有几个带有托管笔记本的协作平台可以共享,例如:

然而,协作和共享笔记本的基本思想实际上是 jupyter 的基本功能。您可能已经注意到,它是一个服务器托管的应用程序,默认情况下会打开一个本地服务器供您使用。

通过简单地托管该服务器(例如,在 AWS 上、您的内部服务器等),您可以直接和交互地在笔记本上进行协作。

使用笔记本,只要转到“文件 > 下载为 > Python (.py)”,就可以随时将其转换为 Python 脚本。然后,无论这种做法听起来多么不寻常,您都可以与您的队友分享并在打印的形式上手写评论。

在 GitHub 中,这意味着评论 HTML 或 JSON 级别(.ipynb 文件的内部标记),而不是文档级别。

这是问题的症结所在。我专门构建了 ReviewNB来对 GitHub 上的 Jupyter Notebooks 进行同行评审。它直接与您在 GitHub 上的存储库集成,并提供视觉差异和评论支持(见下面的屏幕截图)。

对于直接的多用户协作,您还可以设置JupyterHub,以便每个人都可以登录到同一台服务器,尽管我建议使用 GitHub 并在本地安装 Jupyter。

在此处输入图像描述