问题:如何与非程序员共享Jupyter笔记本?[关闭]
我试图用Jupyter做我不能做的事情。
我的内部服务器上运行着Jupyter服务器,可通过VPN和受密码保护的服务器进行访问。
我是唯一实际创建笔记本的人,但是我想以只读方式使其他团队成员可以看到一些笔记本。理想情况下,我可以与他们共享一个URL,当他们希望查看带有刷新数据的笔记本时,他们将为其添加书签。
我看到了导出选项,但找不到任何有关“发布”或“公开”本地现场笔记本的信息。这不可能吗?考虑应该如何使用Jupyter可能只是错误的方式?
回答 0
共享Jupyter笔记本的“最佳”方法是将其放置在GitHub(直接查看)或其他公共链接上,然后使用Jupyter Notebook Viewer。当隐私更多是一个问题时,可以有其他选择,但肯定会更复杂。仅Jupyter并没有内置的方法来执行此操作,但是有两个选项:
托管您自己的nbviewer
GitHub和Jupyter Notebook Veiwer都使用相同的工具将.ipynb
文件呈现为静态HTML,此工具为nbviewer。
安装说明比我愿意介绍的要复杂,但是如果您的公司/团队拥有不需要密码访问的共享服务器,则可以在该服务器上托管nbviewer并指示其从您的凭据服务器加载。这可能需要比您将在文档中找到的配置更高级的配置。
设置部署脚本
如果您不一定需要实时更新HTML,则可以在有证书的服务器上设置一个脚本,该脚本将仅使用Jupyter的内置导出选项来创建静态HTML文件,然后将其发送到更易于访问的服务器上。
回答 1
Google最近公开了其内部协作项目(此处链接)。您可以使用与启动Google表格或Google文档相同的方式来启动笔记本,然后简单地共享笔记本或添加协作者。
目前,这对我来说是最简单的方法。
回答 2
迈克尔建议运行自己的nbviewer实例是我过去在Enterprise Github服务器上使用的一个很好的建议。
另一个轻量级替代方法是在笔记本的末尾有一个单元格,该单元格对nbconvert进行shell调用,以便在运行整个过程后自动刷新该单元格:
!ipython nbconvert <notebook name>.ipynb --to html
编辑:使用Jupyter / IPython的Big Split,您可能需要将其更改为!jupyter nbconvert <notebook name>.ipynb --to html
现在。
回答 3
这取决于您打算如何使用笔记本电脑:您是否希望用户可以重新计算结果或只是玩游戏?
静态笔记本
NBViewer是一个很棒的工具。您可以在Jupyter中直接使用它。Github也有一个渲染器,因此您可以直接链接文件(例如https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb)
活着的笔记本
如果希望用户能够重新计算某些部分,则也可以使用MyBinder。启动笔记本需要花费一些时间,但是这样做值得。
正如@Mapl称,谷歌可以承载您的笔记本Colab。一项不错的功能是通过GPU计算单元。
回答 4
在WordPress上执行此操作的一种好方法包括以下步骤:
步骤1:在文本编辑器中打开Jupyter笔记本,然后复制内容,如下所示: 在文本编辑器中打开您的.ipynb文件时,可能看起来像这样
步骤2: 按Ctrl + A和Ctrl + C此内容。然后按Ctrl + V到您应该创建的GitHub Gist。
第3步:创建公共要点,然后像通常将要点要嵌入到WordPress一样,将要点嵌入,请转到HTML编辑器并按如下所示添加:
[gist gist_url]
我实际上已经在我的博客上实现了此功能。你可以在这里找到帖子
回答 5
实现此目标的另一种方法是使用JupyterHub。
使用JupyterHub,您可以创建一个多用户中心,该中心可以生成,管理和代理单用户Jupyter笔记本服务器的多个实例。由于其灵活性和定制选项,JupyterHub可用于为学生,公司数据科学小组或科研小组的笔记本电脑提供服务。