Изпълнение на IPython Notebook на Google App Engine

Възможно ли е да стартирате IPython преносим сървър на Google App Engine (GAE)?

Разбирам, че GAE ограничава изпълнението на някои библиотеки на неговите сървъри. Също така прочетох няколко SO нишки, където потребителите са се опитали да стартират ipdb (debugger) на GAE. Разбирам също, че IPython няма да работи на GAE веднага. Готов съм да отделя известно време за разбиране на вътрешните елементи на IPython и пренасянето му да работи на GAE, но не разбирам различните му зависимости и дали някоя от тези зависимости е блокирана от GAE.

Ако вече сте пробвали това, бихте ли споделили опита си. Ако не, знаете ли дали това изобщо е осъществимо?


person Chandan Gupta    schedule 08.09.2014    source източник


Отговори (2)


Вероятно е невъзможно да накарате IPython преносимия сървър да работи само на App Engine. Всеки преносим компютър ще се нуждае от собствено iPython ядро, което трябва или да работи непрекъснато, или да има начин да поддържа състоянието си между заявките. На теория може да сте в състояние да използвате комбинация от сървърни класове, където клиентите могат да работят на мащабируеми интерфейси, а ядрата могат да работят на постоянни сървъри. Но ще трябва да замените всички ZeroMQ+Tornado черва, за да направите това. (Не съм добре запознат със сървърните вътрешности на iPython, но това е впечатлението, което останах от разговорите с разработчиците на iPython на конференции, плюс малко четене.)

Compute Engine е по-правдоподобен по очевидния начин: просто стартирайте сървъра, както бихте направили на всяка Linux кутия. Пренасянето само на уеб клиента към App Engine и използването на набор от ядра, работещи на GCE, може да е път към успеха в зависимост от това, което се опитвате да постигнете, но все пак би било голям проект да го предлагате като управляван, мащабируем обслужване.

Ето една тема по темата от преди две години: https://groups.google.com/forum/#!topic/sage-notebook/re2bUt4vCxA

И ето един (стар?) проект, включващ както GAE, така и AWS, макар че само от тази страница звучи, че използва GAE само за интерфейса за поддръжка, а не за клиента на лаптоп: https://notebookcloud.appspot.com/docs

person Dan Sanderson    schedule 09.09.2014
comment
Благодаря Дан. Трябва да хоствам IPython бележник за експериментиране. Опитвах се да разбера дали би било възможно да го направя на App Engine с известни усилия. От вашия отговор изглежда, че ще бъде голям проект. Планирам да хоствам IPython на локален сървър сега. Може да се заровя във вътрешността на IPython по-късно за академичен интерес. - person Chandan Gupta; 10.09.2014
comment
Ако е само за ваша собствена употреба и не е необходимо да се мащабира до хиляди потребители, можете да опитате просто да го стартирате на екземпляр на Compute Engine. Не забравяйте да го защитите с парола. ipython.org/ipython-doc/1/interactive/public_server.html - person Dan Sanderson; 10.09.2014
comment
Това е главно за моя собствена употреба и за няколко други. Връзката, която публикувахте, беше много полезна. - person Chandan Gupta; 11.09.2014

Старият въпрос и отговорът на машината за приложения (не) все още важи. Но в случай, че някой се върне към това, най-лесният начин за стартиране на iPython (или локално, или чрез GCE) в наши дни е чрез докер. В наши дни стартирането на моя iPython е толкова лесно, колкото да навигирате до правилната директория и да напишете „docker-compose up“. Използвам python 3.x и моят docker-compose yml е прост:

nb:
  image: andaag/sklearn_notebook3
  ports: 
    - "8888:8888"
  volumes: 
    - "/:/ml"

Това е! издърпайте изображението на andaag и сте готови. Разбира се, можете да намерите или изпечете свой собствен образ.

Забавлявай се!

person Don    schedule 25.03.2015