有没有一种方法可以让两个人共同工作在一个Jupyter Notebook上?

10
我的一个朋友和我正在为我们的物理学位进行一些现场研究。我们使用Jupyter笔记本分析获取的数据。我们通常坐在一起,使用两个不同的副本同时工作,最终将它们拖放到Jupyter Lab中进行合并。显然,这不是理想的方法,所以我想知道有没有办法让两个人在Jupyter上共同编辑同一个文档。不幸的是,Google Colab已经被弃用,而CoCalc则很昂贵。所以我想问问这里是否有办法让一人运行Jupyter笔记本,另一人通过点对点方式访问它,以便我们能够同时编写相同的文件。你们知道有什么方法可以实现吗?感谢提前回答。

1
你应该使用GitHub来完成这个任务。 - Sheri
1
Google Colab 真的被弃用了吗?我看到 Jupyter colaboratory 的确被弃用了[1],但是 Google colab 工具库[2]仍然活跃(提交、问题),而且 StackOverflow 标签也很活跃[3]。[1] https://github.com/jupyter/colaboratory [2] https://github.com/googlecolab/colabtools [3] https://stackoverflow.com/questions/tagged/google-colaboratory - Shadi
@Sheri,这在Jupyter笔记本上不太适用,因为它们包含的不仅仅是代码。 - Mayou36
Google Colab并未被弃用:https://colab.research.google.com。你从哪里得到这个信息的? - kynan
我的意思是谷歌 Colab 协作功能已经被弃用了。你不能在其中有效地与多个人合作。 - The Mastermage
6个回答

11

CoCalc很贵。

幸运的是,我们还提供了一个完全免费、易于安装的开源版本的CoCalc(链接),您可以在支持Docker的任何计算机上运行它。例如,这里是如何在Google云上运行它(链接)

(我已经投入了太多年的时间,通过CoCalc使Jupyter实时协作工作...无论如何,开源代码已经在生产中进行了测试,并且最终表现良好。我希望它能解决您的问题...)


1
这真的让我的一天变得100%更好了,太棒了,干得好。谢谢你的回答。 - The Mastermage

6
您可以将笔记本上传到 Deepnote。它提供了托管环境,您和您的同事可以同时连接并实时协作(就像在 Google Docs 中一样)。 Colab 也不错,但同时编写会导致冲突。

1
我已经长时间进行 Deepnote 的 Beta 测试了,它非常棒。 - The Mastermage
你能否像两个用户可以编辑Google Sheets一样使用COLAB,或者两个开发人员可以在VSC中使用Live Share? - puentesdiaz

2
JupyterLab 3.1.0a7引入了实时协作功能。
一个演示视频展示其使用方式。
需要注意的关键点是新的顶级菜单项叫做共享,位于设置帮助右侧。
您可以点击 启动Binder 这里 或者 这里 立即尝试。

"一旦您看到JupyterLab界面,就会出现一个名为“Share”的新顶级菜单项;点击该菜单项,获取并分享URL,然后完成!" -来源:第5步 这里

这里有一个Gist 链接,似乎定期更新如何激活该功能。
如果您想要在自己的存储库中添加可以通过MyBinder.org启动的功能,这里有一个详细的步骤说明。不过,如果该存储库落后于the gist,那么在了解了详细的步骤说明后,您可能需要参考the gist以获取当前的最佳实践。

与@krassowski的答案密切相关的问题在这里here,您可能想查看那里以获取一些额外的细节。

2

笔记本本身不支持同时协作,但是您可以使用GitHub来管理您的Python脚本,并将其单独上传到Colab中。这样,GitHub可以帮助管理文件历史记录并解决冲突。


回到这个话题,Jupyter现在通过--collaborative标志支持实时协作。 - The Mastermage

1
虽然您可以使用 GitHub 进行此操作,但可能会变得混乱,许多人在提交到 git 时会清除输出单元以避免冲突问题。这将破坏您的审核工作的目的。
您应该尝试 Curvenote(我们正在为此目的构建),它不提供计算功能,而是一种协作写作工具,通过 Chrome 扩展程序在 Jupyter 上工作,并为您提供实时版本控制、评论和差异对比。

1

Google Colab已经被弃用,而CoCalc价格昂贵。

Noteable.io完全免费,包括存储、计算、内存等所有用户。对于您的目的,它将是理想的选择,因为您将获得类似Google Drive的协作功能(评论、@提及、数据点注释),版本控制,共享,交互式可视化,选择在同一笔记本中使用Python和SQL以及大量其他功能。

下面是在Noteable上的良好示例笔记本:

  1. 多伦多市露点分析的气候变化
  2. 医疗保健部门员工流失探索性数据分析
  3. 使用SQL和Python进行探索性数据分析-在线零售商订单

这真的很酷,谢谢你分享。 - The Mastermage

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接