繁体   English   中英

Heroku上的交互式Ipython笔记本

[英]Interactive Ipython Notebooks on Heroku

我目前正在尝试制作python教程并使用Heroku网站上的ipython笔记本托管它们。 问题是ipython笔记本在上传时是静态的。 我试图让用户可以交互使用笔记本电脑(如打印输出)。 我也不希望他们的笔记本电脑的输出永久保存在Heroku网站上。

根据我的理解,你有两个问题需要处理:

  • 互动笔记本
  • “只读”笔记本(不保存修改)

对于问题1,您需要使用jupyter(笔记本的新IPython名称)服务器。 仅显示笔记本是不够的,因为您需要服务器来“理解”并执行修改。 请参阅: http//jupyter-notebook.readthedocs.io/en/latest/public_server.html

我不熟悉Heroku,在谷歌搜索2s后我发现了这个: https//github.com/pl31/heroku-jupyter ,它能够在demo Heroku机器上部署一个工作的Jupyter服务器。


据我所知,问题2更难以解决。

当“学习者”将更改笔记本时,修改将应用于笔记本文件(.ipnb),因此修改将持久...这不是您想要的。

您可以使用文件权限尝试一些技巧来阻止内核保存文件,但我认为这只会导致内核崩溃...

此外,它会询问几个用户交互问题,例如,如果我丢失了我的互联网连接怎么办? 我会放松工作吗? 为什么? 这是我真正想要的学习者吗?

为此,最好的解决方案是为用户提供访问笔记本/工作场所的权限,以便保存自己的进度,但这比仅部署一个jupyter服务器更有用。 举个例子,请参阅databricks.com(第一个(唯一的)想到的,没有必要最好的)。

(作为一种评论,似乎已经实现了多用户模式: https//jupyterhub.readthedocs.io/en/latest/


我想补充一下关于服务器安全性的最后一句话。 如果你没有为后果做好准备,让陌生人访问带有嵌入式shell的服务器听起来像个坏主意。 我建议你看看如何将每个用户的jupyter会话放在一个“监狱”/容器中,任何在Heroku中工作的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM