python Console

PythonのコンソールをWebブラウザで。

tags:python, console, web, desktop-application
created:2007-03-27T04:18:44

Pythonコンソールデスクトップアプリ

こんなかんじでブラウザからPythonコンソールとして利用できます。

../../_images/python_console.png

概要

デスクトップサーバアプリケーションになっていますので 起動するとWebブラウザを呼び出します。

ヒストリ機能つきのシェルのようなインターフェースです。

新しい特徴

日本語もOKになりました
作り直した時に無難なインプットボックス仕様にしたので 日本語も入力できるようになりました!
セッション対応
セッションごとにリモートPythonエンジンを起動しますので、 完全隔離されたコンテキストで心置きなくスクリプティング!
純正の仕様を継承
標準パッケージのインタプリタクラスをベースにしているので 挙動がかなり純正に近い!
タスクバーアイコンを装備
タスクバーアイコンにサーバーを隠しました。 見た目が非常にすっきりしました。

ソースファイルパッケージ

ソースファイル一式のダウンロード

「Files」 においている 「pyconsole1.0.0.zip」 をダウンロードしてください。

展開後、「pyconsole.py」を実行するとWebブラウザを呼び出します。

バイナリファイルパッケージ

面倒な方は以下のサイトにインストーラを用意しています。

https://www.box.com/shared/v63ebbclo6

リンク先の「 setup_pyconsole.exe 」をダウンロードして実行すれば デスクトップショートカットまで作成してくれます。

RPyCパッケージのインストール

RPyC 2.6 だけは手作業でインストールする必要があります。 (ユーザーのPythonがどこにあるか分かりませんので)

リンク先の手順を参考にしてください。 http://rpyc.wikispaces.com/install

要するにダウンロードしたパッケージを解凍して Pythonインストールフォルダの「site-packages」に展開しましょう。

私の場合:

C:\Python25\Lib\site-packages\Rpyc
  AsyncNetProxy.py
  Boxing.py
  Channel.py
  Connection.py
  Demo<dir>
  Lib.py
  ModuleNetProxy.py
  NetProxy.py
  Servers<dir>
  Stream.py
  tests<dir>
  Utils<dir>
  __init__.py

このようになっています。

結果

なかなか良好な操作感が実現できました。 今後、補完機能やヒント表示なんかも追加する予定です。

雑感

今回、「cherrypy」、「mako」、 「simplejson」、「MochiKit」ベースでトライしてみました。

cherrypy
軽量ウェブフレームワーク(TurboGearsのベース)
mako
高速テンプレートエンジン
simplejson
軽量JSONデコーダエンコーダ
MochiKit
JavaScript AJAX他支援ライブラリ

この組み合わせはどうも自分に合っているらしい。 意外とサクサクと作れました。

規模のスケールにもある程度対応できそうです。