user icon

IronPython Console をもっと便利に(TABによる補完とか)

IronPyhton の開発環境を構築しています。

お客様に .NET Framework 4.0 が必要な提案をしておりまして、しかも、コンパイルが必要な言語はイマイチ要件にあわない。初めは IronRuby でやろうかと思ったのですが、調べたところ日本語の扱いに不安がある。ここはそろそろ安定しているであろう IronPython かな?というわけ。

さて、本題。インタラクティブシェルを便利にする、ipy.exe おすすめの起動時オプションをご紹介。
どんなオプションがあるのかはこんな感じで確認できます。

C:\Users\murave>"C:\Program Files\IronPython 2.6 for .NET 4.0\ipy.exe" -?
Usage: ipy.exe Usage: ipy [options] [file.py|- [arguments]]

Options:
 -3                       Warn about Python 3.x incompatibilities
 -c cmd                   Program passed in as string (terminates option list)
 -D                       Enable application debugging
 -E                       Ignore environment variables
 -h                       Display usage
 -i                       Inspect interactively after running script
 -m module                run library module as a script
 -O                       generate optimized code
 -OO                      remove doc strings and apply -O optimizations
 -Q arg                   Division options: -Qold (default), -Qwarn, -Qwarnall,
-Qnew
 -s                       Don't add user site directory to sys.path
 -S                       Don't imply 'import site' on initialization
 -t                       Issue warnings about inconsistent tab usage
 -tt                      Issue errors for inconsistent tab usage
 -u                       Unbuffered stdout & stderr
 -v                       Verbose (trace import statements) (also PYTHONVERBOSE=
x)
 -V                       Print the version number and exit
 -W arg                   Warning control (arg is action:message:category:module
:lineno)
 -x                       Skip first line of the source
 -X:AutoIndent            Enable auto-indenting in the REPL loop
 -X:ColorfulConsole       Enable ColorfulConsole
 -X:CompilationThreshold  The number of iterations before the interpreter starts
 compiling
 -X:Debug                 Enable application debugging (preferred over -D)
 -X:EnableProfiler        Enables profiling support in the compiler
 -X:ExceptionDetail       Enable ExceptionDetail mode
 -X:Frames                Enable basic sys._getframe support
 -X:FullFrames            Enable sys._getframe with access to locals
 -X:GCStress              Specifies the GC stress level (the generation to colle
ct each statement)
 -X:LightweightScopes     Generate optimized scopes that can be garbage collecte
d
 -X:MaxRecursion          Set the maximum recursion level
 -X:MTA                   Run in multithreaded apartment
 -X:NoAdaptiveCompilation Disable adaptive compilation
 -X:PassExceptions        Do not catch exceptions that are unhandled by script c
ode
 -X:PrivateBinding        Enable binding to private members
 -X:Python30              Enable available Python 3.0 features
 -X:ShowClrExceptions     Display CLS Exception information
 -X:TabCompletion         Enable TabCompletion mode
 -X:Tracing               Enable support for tracing all methods even before sys
.settrace is called

Environment variables:
 IRONPYTHONPATH    Path to search for module
 IRONPYTHONSTARTUP Startup module

お勧めは、TABキーでのキーワードの補完が有効になる「-X:TabCompletion」、自動でインデントしてくれる「-X:AutoIndent」、コンソールがカラーになる「 -X:ColorfulConsole」あたり。昔はTabCompletion と AutoIndent は設定すると問題もあったのですが(TabCompletion では日本語が文字化けするとか)なおっているようです。

これらのオプション、3年前に買った『オープンソース×Windowsスクリプティング IronPythonの世界』(荒井 省三)という本で知ったのですが、いまだにこの本ぐらいしか参考書がないみたい。

私は、スタートメニューの IronPython Console のショートカットをコピーしてリンク先に上記のオプションを追加したショートカットを作ってます。便利ですよ。

切れちゃってますが、リンク先の内容は「”C:\Program Files\IronPython 2.6 for .NET 4.0\ipy.exe” -X:TabCompletion -X:AutoIndent -X:ColorfulConsole」です。ipy.exe の Path については調整してくださいね。

Facebooktwitterlinkedintumblrmail

Tags:

Comment