Облачные сценарии через браузер и оценить Python на сервере - PullRequest
0 голосов
/ 28 марта 2012

Есть ли способ в браузере ввести код Python в поле ввода, затем он будет отправлен на локальный сервер и выполнен, а результат передан обратно в браузер. По сути, в браузере размещается записная книжка Python, где код оценивается на другом компьютере. Есть ли пакет Python для этого.

что-то вроде того, что делают ideone.com или picloud, но с открытым исходным кодом, которое можно установить на ваш собственный сервер.

Или какие-либо предложения о том, как это сделать, я уже осмотрелся, но изо всех сил пытался найти что-то значимое.

Ответы [ 3 ]

1 голос
/ 28 марта 2012

Я не пробовал себя.Вы можете проверить ноутбук ipython.

1 голос
/ 28 марта 2012

Это можно сделать с помощью модуля http.server в Python 3. Ниже приведен пример.Адаптируйте его под свои нужды.

import http.server
import socketserver

PORT = 8000

class ScriptHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):

    def do_POST(self):
        """ Handle POSTed script """

        try:
            result = eval(self.rfile.read())
            self.send_response(200,'Ok')
            self.wfile.write(result)
        except:
            #handle errors


httpd = socketserver.TCPServer(("", PORT), ScriptHTTPRequestHandler)

print("serving at port", PORT)
httpd.serve_forever()

После запуска сервера создайте HTML-форму с действием "http://localhost:8000/"", и он должен выполнить метод do_POST, описанный выше. Поместите ваши HTML-файлы в ту же папку илиподкаталоги серверного скрипта. Подробную информацию см. в http.server python docs .

1 голос
/ 28 марта 2012

Это может быть излишним, но вы могли бы взглянуть на Мудрец : это «бесплатная математическая система с открытым исходным кодом», так что вы также получите множество математических инструментов, но вы можете по-прежнему выполнять произвольный код Python. Вы можете попробовать это онлайн на http://www.sagenb.org/ - это также то, что вы можете получить на месте.

...