2012-03-27 10 views
0

ブラウザには、入力フィールドにpythonコードを入力すると、ローカルサーバーに送信されて実行され、結果がブラウザにプッシュバックされます。 基本的にはブラウザがpythonノートブックをホストしていました。ここでコードは別のマシンで評価されます。 これを行うためのPythonパッケージはありますか?ブラウザでスクリプトを作成し、サーバー上でpythonを評価する

ideone.comやpicloudと同じようなものですが、opensourceは自分のサーバーにインストールできます。

また、私はすでにそれを見てきましたが、何か意味のあるものを見つけるのに苦労しました。

答えて

1

これは、Python 3でhttp.serverモジュールを使用して行うことができます。以下に例を掲載しました。それをあなたのニーズに合わせてください。

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() 

サーバは「のhttp:// localhostを:8000 /」のアクションでHTMLフォームを作成し起動したら、それは上記do_POSTメソッドを実行する必要があります。 HTMLファイルをサーバー・スクリプトの同じフォルダーまたはサブディレクトリーに入れます。詳細については、http.server python docsを参照してください。

+0

素晴らしい、ありがとう、その正確に私が探していたもの! –

1

恐ろしいかもしれませんが、Sageを見ることができます:これは「無料のオープンソースの数学ソフトウェアシステム」なので、たくさんの数学的ツールも得られますが、任意のPythonコード。あなたはhttp://www.sagenb.org/でオンラインで試すことができます - これはあなたがローカルに得ることもできます。

1

私は自分自身を試していません。あなたはipythonノートブックをチェックアウトすることができます。

関連する問題