与非程序员分享Jupyter笔记本的最佳方式是什么?

时间:2015-08-06 12:28:07

标签: python ipython-notebook jupyter

我试图围绕Jupyter能做什么/不能做什么。

我在内部服务器上运行了一个Jupyter服务器,可通过VPN访问并受密码保护。

我是唯一一个真正创建笔记本的人,但我想让其他团队成员以只读方式看到一些笔记本。理想情况下,我可以与他们共享一个URL,当他们想要查看具有刷新数据的笔记本时,他们会为其添加书签。

我看到了导出选项,但找不到任何提及"发布"或者"公开"本地直播笔记本。这不可能吗?考虑如何使用Jupyter可能只是一种错误的方式吗?他们最好的做法是什么?

10 个答案:

答案 0 :(得分:62)

分享Jupyter笔记本的“最佳”方式是将其放在GitHub上(并直接查看)或其他一些公共链接并使用Jupyter Notebook Viewer。当隐私问题成为一个问题时,有其他选择,但它肯定会更复杂,仅在Jupyter中没有内置的方法,但有几种选择:

托管您自己的nbviewer

GitHub和Jupyter Notebook Veiwer都使用相同的工具将.ipynb文件呈现为静态HTML,此工具为nbviewer

安装说明比我愿意进入这里更复杂,但如果您的公司/团队有一个不需要密码访问的共享服务器,那么您可以在该服务器上托管nbviewer并指示它从您的凭证服务器。这可能需要一些比你在文档中找到的更高级的配置。

设置部署脚本

如果您不一定需要 live 更新HTML,那么您可以在您的凭证服务器上设置一个脚本,该脚本将简单地使用Jupyter的内置导出选项来创建静态HTML文件,然后发送这些到更公开的服务器。

祝你好运!

答案 1 :(得分:23)

迈克尔关于运行你自己的nbviewer实例的建议是我过去用过的企业Github服务器的一个很好的建议。

另一个轻量级替代方案是在笔记本的末尾有一个单元格,它对nbconvert进行shell调用,以便在运行整个程序后自动刷新:

MainActivity

编辑:使用Jupyter / IPython的Big Split,您现在可能希望将其更改为finish()

答案 2 :(得分:22)

Google最近公开了其内部合作项目(link here)。您可以像启动Google表格或Google文档一样启动笔记本,然后只需共享笔记本或添加协作者。

目前,这对我来说是最简单的方式。

答案 3 :(得分:15)

如果您使用kyso.io(免责声明:我创立了kyso),您可以轻松地在线共享笔记本:

  • 您可以显示/隐藏代码,以便非技术人员可以阅读
  • 交互式可视化工作完美,如散景和情节。

在此处上传您的笔记本:

https://kyso.io/upload

以下是一些例子:

答案 4 :(得分:10)

这取决于您打算如何处理笔记本:您是否希望用户可以重新计算结果或只是使用它们?

静态笔记本

NBViewer是一个很棒的工具。您可以在Jupyter内直接使用它。 Github还有一个渲染,因此您可以直接链接您的文件(例如https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb

活着的笔记本

如果您希望用户能够重新计算某些部分,您还可以使用MyBinder。启动笔记本需要一些时间,但结果是值得的。

正如@Mapl所说,Google可以使用Colab托管您的笔记本。一个很好的功能是在GPU上计算您的单元格。

答案 5 :(得分:6)

答案 6 :(得分:5)

在WordPress上执行此操作的一种好方法包括以下步骤:

第1步:在文本编辑器中打开您的Jupyter笔记本并复制可能如下所示的内容: Your .ipynb file may look like this when opened in a text editor

第2步: Ctrl + A Ctrl + C 此内容。然后 Ctrl + V 这个到你应该创建的GitHub Gist。

第3步:创建一个公共要点并嵌入要点就像你总是在WordPress上嵌入要点,即转到HTML编辑器并添加如下:

[gist gist_url]

我实际上是在我的博客上实现了这一点。您可以找到帖子here

答案 7 :(得分:4)

实现此目标的另一种方法是使用JupyterHub

使用JupyterHub,您可以创建一个多用户Hub,它可以生成,管理和代理单用户Jupyter笔记本服务器的多个实例。由于其灵活性和定制选项,JupyterHub可用于为一类学生,企业数据科学小组或科研小组提供笔记本电脑。

enter image description here

答案 8 :(得分:4)

CoCalc上,您可以上传您的ipynb文件并与他人实时协作。还有一种方法可以将文件作为静态HTML文件发布,但您也可以邀请您的团队成员加入您的项目,并在他们观察正在发生的事情时处理该文件。还有一个关于内容的侧面聊天。

答案 9 :(得分:3)

www.zepl.com是一个数据科学笔记本中心。 (免责声明。我是ZEPL的联合创始人) 您可以将Github或S3与.ipynb文件连接起来,然后获取

  • 对笔记本的访问控制(发布只读网址)
  • 笔记本从Github / S3自动同步(刷新)
  • 报告looknfeel(非技术人员)
  • 团队和工作区组织分享(在团队中安全分享)
  • 对细胞的评论
  • Jupyter笔记本和Zeppelin笔记本格式支持