特集
» 2007年02月08日 09時00分 UPDATE

Programing Bible:Eclipse+PyDEV=Python統合開発環境

PyDEVは、EclipseでPythonやJythonのプログラムを開発するためのプラグイン。これを使うと、Eclipseが第一級のPython統合開発環境になる。

[Nikos-Kouremenos,Open Tech Press]
SourceForge.JP Magazine

 PyDEVを利用するにはEclipsePythonがインストールされている必要があるが、Windows、Linux/UNIX、Mac OS Xなどといった通常のプラットフォームであれば、Java(EclipseはJavaで書かれている)とPythonはほとんどの場合に動作する。従って、PyDEVはほぼすべてのOS上で利用可能だ。Eclipse上で、メニューからHelp→Software Updates→Find and Installの順に選択する。次いで、Search for new features for installを選び、New Remote Site...をクリックする。ここで、名前にPyDevを、URLにはhttp://pydev.sf.net/updates/を設定する。

 PyDEVの大きな特徴の1つにソースコードのデバッグ機能がある。わたしはPythonデバッガモジュールを使いたくないので、これまでPythonのアプリケーションを本格的にデバッグしたことがない。コードにprint文を挿入してロジックを辿りながらバグを追求してきた。この方法でも大概は間に合うのだが、変数の値を知りたいがprint文をやたらに増やしたくないと思うときがあるし、関数を呼び出したくないこともある。

 そうしたことすべてがPyDEV debuggerなら可能だ。しかも、視覚的に操作できる。このデバッギング環境では、ブレークポイントを動的に追加したり削除したりできる。変数の値はいつでも分かるし、インスタンスのプロパティーや属性さえも知ることができる。例えば、変数の値を知りたければ、その変数を選択してCtrl-Shift-Dを押すだけという簡単さ。ただし、変数の値を動的に設定することはできない。右クリック→Change Value...を試みてみたが、残念ながら機能しなかった。

 Pythonのトレースバックでは、出力の行がハイパーリンクになっている。これをクリックすると直接問題の行に飛ぶことができ大助かりだ。

 PyDEVにはBicycle Repair Manが組み込まれているので、リファクタリングもまた簡単、自動的だ。コードの一部をメソッドにする場合なら、その部分を選択して右クリックし、Refactoring→Extract Methodの順に選択するだけ。抜き出したコード部分に含まれる変数が自動的に抽出され、新たに作ったメソッドの引数に自動的に設定される。

 PyDEVのTasksパネルでは、1回クリックするだけで仕掛かり中のタスクがインタラクティブな形で一覧表示できる。ファイル群をgrep TODOして、一ファイルずつ手作業でオープンし該当個所を探す必要はない。仕掛かり中の個所をTasksとしてマークするのも、Window→Preferences→Pydev→Task Tagsの順に選択するだけだ。

 Eclipseはテンプレート――コーディングの際に繰り返し利用する目的であらかじめ作成しておくソースコードの断片――で有名だが、これにも対応している。例えば、defと入力しCtrl-Spaceを押すと、小さなウインドウが現れ、一致するテンプレートが表示される。自分で新たにテンプレートを追加したり、既存のものを変更したりもできる。手順は、Window→Preferences→Pydev→Code Completion→Templatesだ。

 デフォルトでは無効になっているが、PyDEVを通してPylintを利用することができ、コードを整えることもできる。これを利用すれば、誤入力、カット&ペーストの誤り、コーディング基準に反する個所を発見でき、一般に低品質と思われる部分を検出できる。また、PyUnitにも対応しており、単体テストも可能だ。

 PyDEVのエディタにはコンテンツアシスタンスや自動化機能があり、コーディングを楽にしてくれる。入力中にコンテンツアシスタンスを使いたいときはCtrl-1を押せばよい。オプションが表示されるので、その中から機能を選択する。大いに役立つものを挙げると、Move "import module" line to global scope、Create docstring、Assign result (from a method you are calling in the same line) to new local variable、Surround code with try..except or try..finallyなどがある。

 このエディタのインデント機能は賢い。例えば、if文を書くと、それ以降の行は自動的に字下げされ、pass、elif、elseのいずれかを入力すると字下げは解除される。それだけではない。クラスの中でメソッドを書こうとすると、selfがメソッドの最初の引数として自動的に挿入される。同様に、from moduleと入力するとその後ろにimportが自動補完されるため、from module import nameを素早く入力することができる。

 PyDEVは安定しており、リリースも頻繁だ。さらに詳しい機能については、PyDEVプラグイン(オープンソース)を補足するPyDEV Extensionsパッケージ(プロプライエタリ)をご覧いただきたい。

 また、PyDEVの主開発者ファビオ・ザロズニー氏が制作した、PyDEVとPyDEV Extensionsに関するデモビデオがある。詳しいことは、このビデオを見てほしい。

Nikos Kouremenosはコンピュータ科学を専攻する学生。2002年以来、オープンソースコミュニティーで活躍している。


原文へのリンク

Copyright © 2010 OSDN Corporation, All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ

マーケット解説

- PR -