加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

只有想不到,「99」种扩展Jupyter功能的好方法

发布时间:2019-07-02 04:57:22 所属栏目:优化 来源:机器之心编译
导读:副标题#e# 当有人说:「你可以用 Jupyter 扩展解决这个问题」,他们可能没有说清楚是什么样的扩展。Jupyter 生态系统是非常模块化且具有扩展性的,所以有很多种扩展方式。这个博客希望能总结最常用的 Jupyter 扩展,并帮助你发掘生态系统中的新功能。 Jupyt

如果使用一个可插拔的生成器,你可以用很多方法给每个用户提供 Jupyter 笔记本服务器。你可能让他们从一个节点生成 Docker 容器、将它们连接到 Kubernetes 上、让它们使用你的 HPC 集群、或者使用你的 Hadoop 或者 Spark 集群、用 systemd 提供服务、或者直接将这些服务器视为不同的 Linux 用户。这些生成器一般都很容易定制参数,当然你也可以自己写一个。

(3) 服务

你有时希望给 JupyterHub 用户提供额外服务——在闲置时回收资源,或者让他们发布笔记本。你可以运行一个 JupyterHub Service 来提供这些服务。用户可以发起请求,而服务也可以向 JupyterHub 发起 API 请求。这些可以是直接的请求,或者网络服务。例如,BinderHub (https://github.com/jupyterhub/binderhub) 是 JupyterHub 服务中的一种。

NBConvert Exporter

Nbconvert 扩展可以令笔记本格式的文件和其他格式相互转换。如果你导出笔记本到 PDF、LaTeX、HTML 或者 nbviwer 的话,你已经使用了这个扩展。在这个扩展里,对应每一个格式都有一个导出器,你也可以写一个针对自己格式的导出器,或者可以利用已有的定制一个。

在写这篇博客时,我最开心的时刻是发现有 docx 文档(word)导出器。

word 导出器:https://github.com/m-rossi/jupyter-docx-bundler

Bundler 扩展

很容易就能找到 nbconvert 导出器的方法

很容易就能找到 nbconvert 导出器的方法

Bundler 扩展使你可以在菜单栏添加「下载为」按钮。这个按钮和 nbconvert 导出器联用,使得导出器更容易被找到,尽管你可以写一个定制化的扩展,使笔记本在下载前进行任何操作。例如,nbreport 扩展提供一个 bundler 扩展,可以将笔记本格式导出为 HTML。

Repo2Docker

Repo2Docker 扩展将 git 或者其他仓库转换为可重新使用、适合于数据科学的 docker 镜像。网站 mybinder.org(和其他 binderhub 安装包)使用这个扩展构建和运行 Jupyter/RStudio 进程。如下所示,现在有两种扩展 repo2docker 的方式。

(1) BuildPacks

Repo2docker 会查看代码库中的内容,并决定如何去构建它。例如,如果里面有 requirements.txt 文件,它会设置一个小型 conda 环境,并把 Python 包安装进去。如果里面有 install.R 文件,扩展则会保证 R/RStudio 已经安装。写一个 BuildPack (https://repo2docker.readthedocs.io/en/latest/architecture.html#buildpacks) 使你可以将这个功能扩展到你喜欢的编程语言中。

(2) ContentProviders

Repo2docker 中的 repo 部分有点用词不当——实际上你可以将任何程序打包进一个 Docker 镜像中。现在,它支持 git 本地文件夹和 zenodo (https://zenodo.org/) 代码仓库,但是你可以为自己喜欢的代码源添加支持,并制作一个新的 ContentProvider。

只有这些了吗?

当然不是!Jupyter 生态是一个很大的系统,一篇博客无法完全覆盖所有内容。这个博客已经少了一些,如 enterprise gateway 和 TLJH Plugins。Jupyter 的生态是活跃多变的,很快还有更多好用的扩展出现。

原文链接:https://blog.jupyter.org/99-ways-to-extend-the-jupyter-ecosystem-11e5dab7c54

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读