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

xav*_*xav 148 python jupyter jupyter-notebook

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

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

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

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

Mic*_*ard 67

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

托管您自己的nbviewer

GitHub和Jupyter Notebook Veiwer都使用相同的工具将.ipynb文件渲染为静态HTML,这个工具是nbviewer.

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

设置部署脚本

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

祝好运!


Map*_*apl 25

谷歌最近公开了其内部合作项目(链接在这里).您可以像启动Google表格或Google文档一样启动笔记本,然后只需共享笔记本或添加协作者即可.

现在,这对我来说是最简单的方法.

  • 我惊讶地发现 Colaboratory 使用起来是如此直观和简单。请注意,您只能将链接共享为视图,但访问者可以启用“playground”模式来运行代码块并调整参数。很酷。 (2认同)

Ran*_*ndy 24

迈克尔建议运行自己的nbviewer实例是我过去使用Enterprise Github服务器的一个很好的建议.

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

!ipython nbconvert <notebook name>.ipynb --to html

编辑:使用Jupyter/IPython的Big Split,您可能希望将此更改为!jupyter nbconvert <notebook name>.ipynb --to html现在.


guh*_*hur 10

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

静态笔记本

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

活着的笔记本

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

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


小智 6

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

步骤1:在文本编辑器中打开您的Jupyter笔记本并复制可能如下所示的内容: 在文本编辑器中打开时,您的.ipynb文件可能如下所示

第2步: Ctrl + ACtrl + C这个内容.然后按Ctrl + V将其添加到您应该创建的GitHub Gist中.

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

[gist gist_url]
Run Code Online (Sandbox Code Playgroud)

我实际上在我的博客上实现了这一点.你可以在这里找到帖子


Den*_*lev 5

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

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

在此输入图像描述

  • 到目前为止,jupyterhub 仅适用于为许多用户提供使用 jupyter 的权限。正在使用 ShareHub 进行笔记本共享,但 jupyterhub 没有帮助。 (2认同)