25.5. IDLE¶
ソースコード: Lib/idlelib/
IDLE は Python の統合開発環境で、学習用環境です。
IDLE は次のような特徴があります:
tkinter
GUIツールキットを使って、100% ピュア Python でコーディングされていますクロスプラットホーム: Windows, Unix, Mac OS X で動作します
コード入力、出力、エラーメッセージの色付け機能を持った Python shell (対話的インタプリタ) ウィンドウ
多段 Undo、 Python 対応の色づけ、自動的な字下げ、呼び出し情報の表示、自動補完、他たくさんの機能をもつマルチウィンドウ・テキストエディタ
任意のウィンドウ内での検索、エディタウィンドウ内での置換、複数ファイルを跨いだ検索 (grep)
永続的なブレイクポイント、ステップ実行、グローバルとローカル名前空間の視覚化機能を持ったデバッガ
設定、ブラウザ群、ほかダイアログ群
25.5.3. スタートアップとコードの実行¶
-s
オプションとともに起動すると、IDLE は環境変数 IDLESTARTUP
か PYTHONSTARTUP
で参照されているファイルを実行します。 IDLE はまず IDLESTARTUP
をチェックし、あれば参照しているファイルを実行します。 IDLESTARTUP
が無ければ、IDLE は PYTHONSTARTUP
をチェックします。これらの環境変数で参照されているファイルは、IDLE シェルでよく使う関数を置いたり、一般的なモジュールの import 文を実行するのに便利です。
加えて、Tk
もスタートアップファイルがあればそれをロードします。その Tk のファイルは無条件にロードされることに注意してください。このファイルは .Idle.py
で、ユーザーのホームディレクトリから探されます。このファイルの中の文は Tk の名前空間で実行されるので、IDLE の Python シェルで使う関数を import するのには便利ではありません。
25.5.3.1. コマンドラインの使い方¶
idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...
-c command run command in the shell window
-d enable debugger and open shell window
-e open editor window
-h print help message with legal combinations and exit
-i open shell window
-r file run file in shell window
-s run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title set title of shell window
- run stdin in shell (- must be last option before args)
引数がある場合 (訳注: 以下の説明、たぶん実情に反してますが一応訳しています):
-
,-c
,-r
のどれかを使う場合、全ての引数はsys.argv[1:...]
に入り、sys.argv[0]
には''
,'-c'
,'-r'
の、与えたものが入ります。 Options ダイアログでデフォルトだったとしても Editor ウィンドウが開くことはありません。これ以外の場合は引数は編集対象のファイルとして開かれて、
sys.argv
には IDLE そのものに渡された引数が反映されます。
25.5.3.2. IDLE とコンソールの違い¶
可能な限り、IDLE で Python コードを実行するのとコンソールから実行するのとでは同じ結果になるようにしています。しかし、インターフェイスと操作が異なるため、目に見える結果として違いが現れることがあります。例えば、 sys.modules
はより多くのエントリで始まります。
IDLE はまた、 sys.stdin
, sys.stdout
, sys.stderr
を、シェルウィンドウから入力を受け取り、また出力をシェルウィンドウに送るオブジェクトと置き換えます。このウィンドウは、フォーカスを持っている間キーボードと画面をコントロールします。これは通常透過的ですが、キーボードと画面に直接アクセスする機能は動きません。もし sys
が importlib.reload(sys)
によってリセットされたら、 IDLE の変更が失われて、 input
, raw_input
, print
のようなものは正しく動きません。
IDLE の Shell では、ユーザーは完全な文を入力し、編集し、呼び戻すことができます。一度に一つきりの物理行でしか動作しないコンソールもありますが、IDLE は、 exec
を使用してそれぞれの文 (statement) を実行します。その結果、それぞれの文に対して毎回 '__builtins__'
が定義されます。
25.5.3.3. サブプロセスを起こさずに起動する¶
デフォルトでは、IDLE でのユーザコードの実行は、内部的なループバックインターフェイスを使用する、ソケット経由の分離されたサブプロセスで行われます。この接続は外部からは見えませんし、インターネットとのデータの送受信は行われません。ファイアウォールソフトウェアの警告が発生しても、無視して構いません。
ソケット接続の確立を試みて失敗した場合、IDLE によって通知されます。このような失敗は一過性の場合もありますが、永続的に失敗する場合は、ファイアウォールが接続をブロックしているか、特定のシステムの設定が誤っていることが原因かもしれません。問題が解決するまでは、 IDLE をコマンドラインオプション -n
で起動することもできます。
IDLE を -n
コマンドラインスイッチを使って開始した場合、IDLE は単一のプロセス内で動作し、RPC Python 実行サーバを走らせるサブプロセスを作りません。これは、プラットフォーム上で Python がサブプロセスや RPC ソケットインターフェイスを作れない場合に有用かもしれません。ただし、このモードではユーザコードが IDLE 自身から隔離されませんし、Run/Run Module (F5) 選択時に環境が再起動されてまっさらな状態になることもありません。コードを変更した場合、影響するモジュールを reload() しないといけませんし、変更を反映するには、すべての特定の項目 (from foo import baz
など) を再インポートしないといけません。これらの理由から、可能なら常にデフォルトのサブプロセスを起こすモードで IDLE を起動するのが吉です。
バージョン 3.4 で撤廃.
25.5.4. ヘルプとお好み設定¶
25.5.4.1. Additional help sources [ヘルプ参照先の追加]¶
IDLE には “Python Docs” なるメニューエントリがあります。これを選択すると、https://docs.python.org にある、チュートリアルを含む大掛かりなヘルプが開きます。Configure IDLE [IDLE の設定] ダイアログでいつでもヘルプメニューにヘルプ参照先の URL を追加したり削除したりできます。詳しくは Help メニューの IDLE ヘルプオプションを参照してください。
25.5.4.2. Setting preferences [お好み設定]¶
フォント、ハイライト、キーバインドの設定、一般設定は Option メニューの Configure IDLE [IDLE の設定] から変更できます。ユーザー定義のキーも作成できます。IDLE では 4 つの組み込みのキーバインドを用意していますが、Configure IDLE ダイアログの keys タブで、カスタムなキーセットも作成できます。
25.5.4.3. Extensions [拡張]¶
IDLE には拡張 (extension) 機能があります。拡張の設定は idlelib/
ディレクトリ内にあるファイル config-extensions.def
の最初の方をみてください。デフォルトの拡張は今のところ以下です:
- FormatParagraph
- AutoExpand
- ZoomHeight
- ScriptBinding
- CallTips
- ParenMatch
- AutoComplete
- CodeContext
- RstripExtension