在Google App Engine上运行IPython Notebook

4

是否可以在Google App Engine(GAE)上运行IPython笔记本服务器?

我知道GAE限制了某些库在其服务器上运行。我也阅读了一些SO线程,其中用户尝试在GAE上运行ipdb(调试器)。我也知道IPython不能直接在GAE上运行。我愿意花时间了解IPython内部并将其移植到GAE上运行,但我不了解它的各种依赖关系以及这些依赖关系是否在GAE上被阻止。

如果您已经尝试过,请分享您的经验。如果没有,请问这是否可行?

2个回答

1
单独在App Engine上运行IPython笔记本服务器可能不可行。每个笔记本都需要自己的iPython内核,其必须持续运行或具有在请求之间保持其状态的方法。理论上,您可能可以使用服务器类的组合,其中客户端可以在可扩展的前端上运行,而内核可以在持久性后端上运行。但是,要做到这一点,您必须替换所有ZeroMQ + Tornado的guts。(我并不非常了解iPython服务器的细节,但这是我在与iPython开发人员交谈时得到的印象,再加上一些阅读。)
使用Compute Engine更为可行,方法很明显:只需像在任何Linux盒子上一样运行服务器即可。将Web客户端移植到App Engine并使用在GCE上运行的内核池可能是成功的路径,这取决于您要完成什么任务,但仍将是提供为托管式可扩展服务的主要项目。
以下是关于两年前此问题的帖子: https://groups.google.com/forum/#!topic/sage-notebook/re2bUt4vCxA 这是一个(旧的?)项目,涉及GAE和AWS,但从这个页面上看,它似乎仅使用GAE作为维护界面,而不是笔记本客户端:https://notebookcloud.appspot.com/docs

谢谢Dan。我需要托管IPython笔记本进行实验。我试图了解是否可以在App Engine上做到这一点,但需要付出一些努力。从你的回复来看,这将是一个重大项目。现在我计划在本地服务器上托管IPython。以后可能会因学术兴趣而深入研究IPython内部。 - Chandan Gupta
如果只是为了自己使用,并且不需要扩展到数千名用户,可以尝试在Compute Engine实例上运行它。一定要使用密码进行安全保护。http://ipython.org/ipython-doc/1/interactive/public_server.html - Dan Sanderson
这主要是为了我自己和其他几个人使用的。你发布的链接非常有帮助。 - Chandan Gupta

-2
旧问题,应用引擎的答案(不要)仍然适用。但是以防有人回到这里,请注意,如今最简单的运行iPython的方法(无论是在本地还是通过GCE)是使用docker。如今,启动我的iPython只需要导航到正确的目录并输入"docker-compose up"即可。我使用的是Python 3.x版本,我的docker-compose yml文件很简单:
nb:
  image: andaag/sklearn_notebook3
  ports: 
    - "8888:8888"
  volumes: 
    - "/:/ml"

就是这样!拉取andaag的图像,你就可以继续进行了。当然,你也可以找到或制作自己的图像。

玩得开心!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接