簡體   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