Jupyter 是否支持“只读”笔记本?

ped*_*gfp 7 python django pandas web jupyter

我的团队目前正在使用 Pandas 为业务分析师开发一个相当快速的集群作业。我们计划托管一个本地服务器,最终用户可以在其中输入一些在例程执行期间使用的参数,这将访问内部数据库,然后返回一个 CSV 文件。

Jupyter 服务器对我们来说是理想的选择,但问题是我们不能让用户编辑底层代码——他需要做的就是提供参数并开始执行作业。我认为,将其转换为 HMTL 会使一切变得静态,这意味着我们无法按需提供更新的数据。

计划 B 只是制作一个小型 django 应用程序,但我想知道是否有办法用 Jupyter 本身来完成我所需要的,或者对于类似的用例是否有更好的替代方案?我们甚至不打算显示任何小部件,只为用户提供原始数据输出。

提前致谢

Raz*_*ssa 7

笔记本文件可以取消其写权限:

$ chmod -w notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

笔记本仍然是交互式的,但笔记本文件不会改变。

保存符号禁用,标题为“此笔记本为只读”


Sam*_*mir 6

还有一个笔记本扩展Freeze ,它允许锁定(允许执行但不允许编辑单元格内容)或冻结(禁用编辑和执行)单个代码单元格或 Markdown 块。这很重要,因为运行笔记本时代码单元的执行顺序很重要。JupyterCon 上的演示有更多详细信息。


kin*_*ase -1

只需尝试在浏览器控制台中评估这一行:

Jupyter.notebook.writable = false;
Run Code Online (Sandbox Code Playgroud)

这将使当前的 jupyter 笔记本文件不可写,因此不允许进行任何更改。

  • 也许我不理解OP的问题,但是在浏览器控制台中调用该JS行只会将更改应用于给定页面上的您。它对其他人没有影响,并且页面刷新后更改不会持续存在。 (5认同)
  • “浏览器控制台”是什么意思? (2认同)