レビュー:6つのPythonIDEがマットになります

言語の人気と成功を測定するために使用できるすべてのメトリックの中で、確実な要因の1つは、その言語で使用できる開発環境の数です。過去数年間のPythonの人気の高まりは、一般的なプログラマーと、科学的作業や分析プログラミングなどのタスクにPythonを使用する人々の両方を対象としたツールを備えたIDEサポートの強力な波をもたらしました。

Pythonをサポートするこれらの6つのIDEは、さまざまなユースケースをカバーしています。一部は、アドオンまたはPython固有の拡張機能を備えた別の製品の再パッケージ化を通じてPythonをサポートする多言語IDEです。それぞれがPython開発者のわずかに異なる対象者に利益をもたらしますが、多くはユニバーサルソリューションとして役立つよう努めています。

今日のIDEの多くは、特定の言語での開発を促進するために徹底的に作成されたアプリではなく、特定の言語とタスク用のプラグインを備えたフレームワークです。そのために、IDEの選択は、同じファミリの別のIDEを使用した経験があるかどうかによって決まる場合があります。

関連ビデオ:Pythonがプログラミングを簡単にする理由

そのような経験がない人にとって、PyCharmは始めるのに最適な場所の1つです。それは新参者に優しいですが、その機能セットに悩まされることはありません。実際、ここで紹介するすべてのIDEの中で最も便利な機能のいくつかを備えています。これらの機能の多くは、製品の有料バージョンでのみ利用できますが、無料バージョンには、駆け出しの開発者が始めるのに役立つものがたくさんあります。

LiClipseとPythonTools for Visual Studio(PTVS)は、それぞれEclipseとMicrosoft VisualStudioにすでに精通している開発者にとっては良い選択です。どちらも本格的な開発環境であり、Pythonを非常にうまく統合しています。ただし、それらはまた、多くの認知的オーバーヘッドを伴う広大で複雑なアプリケーションです。すでにどちらかをマスターしている場合は、Pythonの作業に最適です。

ActiveStateのKomodoIDEのPython化身は、他の言語でKomodo IDEをすでに使用している人にとっては当然のことであり、その魅力を広げるはずの独自の機能(正規表現エバリュエーターなど)を備えています。コモドは、初心者から専門家まで、よく見る価値があります。

Spyderは、一般的なPythonの開発プラットフォームとしてではなく、IPythonやAnacondaなどのディストリビューションで他の科学計算ツールを使用するのに最適です。最後に、IDLEは、手っ取り早いスクリプト用に予約するのが最適です。その点でも、Python構文プラグインを備えたスタンドアロンのコードエディターに後部座席が必要になる場合があります。そうは言っても、IDLEは必要なときにいつでもそこにあります。

アイドル

Pythonのほとんどすべてのインストールに含まれている開発環境であるIDLEは、デフォルトのPythonIDEと見なすことができます。ただし、IDLEは本格的なIDEの代わりにはなりません。派手なファイルエディタのようなものです。それでも、IDLEはPython開発者が言語に慣れるためのデフォルトオプションの1つであり、Pythonのリリースごとに、特にPython3.5で段階的に改善されています。 (IDLEを改善するための最近の取り組みに関する興味深い議論については、このページを参照してください。)

IDLEは、Pythonのデフォルトインストールに付属するコンポーネントで完全に構築されています。 CPythonインタープリター自体とは別に、これにはTkinterインターフェースツールキットが含まれます。この方法でIDLEを構築することの利点は、一貫した一連の動作でクロスプラットフォームで実行されることです。欠点として、インターフェースがひどく遅くなる可能性があります。たとえば、スクリプトからコンソールに大量のテキストを印刷すると、スクリプトをコマンドラインから直接実行する場合よりも桁違いに遅くなります。

IDLEにはいくつかの便利な機能があります。これは、Python用の組み込みのread-eval-printループ(REPL)またはインタラクティブコンソールを備えています。実際、このインタラクティブシェルは、空のエディターではなく、IDLEの起動時にユーザーに表示される最初のアイテムです。 IDLEには、Ctrl-Spaceを押したときにキーワードや変数の提案を提供するなど、他のIDEにあるいくつかのツールや統合デバッガーも含まれています。しかし、これらの機能のほとんどの実装は、他のIDEと比較して原始的であり、Tkinterの限られたUIコンポーネントの選択によって隠されています。また、IDLEで利用できるサードパーティのアドオンのコレクション(そのようなプロジェクトの1つはIdleXです)は、他のIDEで見られるほど豊富ではありません。

要約すると、IDLEは2つのシナリオに最適です。1つ目は、簡単なPythonスクリプトを一緒にハックしたい場合で、そのために事前構成された環境が必要です。2つ目は、足を伸ばしたばかりの初心者向けです。初心者でさえ、より堅牢なオプションにすぐに卒業する必要があります。

スパイダー

Spyderは「ScientificPYthonDevelopmentEnviRonment」の略です。これは、Pythonを使用した科学計算のワークベンチとして使用することを目的としており、IDEの機能セット、パッケージ、および全体的な動作に反映されています。Spyderには一般的なPython開発に役立つ機能がありますが、主にIPythonと科学計算パッケージを使用しない限り、別のIDEを使用したほうがよいでしょう。

Spyderを汎用Python開発環境として使用しない最大の理由は、機能セットではなく、セットアッププロセスです。Spyderは、VisualStudioやPyCharmなどの製品のようにスタンドアロンの実行可能ファイルとして提供されることはありません。代わりに、Pythonパッケージとしてインストールされます。Spyderへの最も簡単な方法は、Continuum AnalyticsのAnacondaなど、プリロードされたPythonディストリビューションをインストールすることです。

1.拡張機能として利用できますが、構文チェックのみをサポートします。2.Eclipseアドオンとして利用できます。3.商用バージョンで利用できます。4.統合手順を参照してください。5.ホストにインストールされているバージョン管理システムを使用します。
  アイドル コモド LiClipse PyCharm PTVS スパイダー
Cythonのサポート 番号 はい(1) 番号 はい(3) 番号 番号
バージョン管理 番号 はい はい はい はい はい(5)
グラフィカルデバッガー 番号 はい はい はい はい 番号
IPythonサポート 番号 番号 番号 はい はい(4) はい
マクロ 番号 はい はい(2) はい(2) はい 番号
複数の通訳 番号 はい はい はい はい はい
リファクタリング 番号 はい はい はい はい 番号
データベース統合 番号 はい はい(2) はい(3) はい 番号
HTML / CSS / JavaScript 番号 はい はい はい はい(3) 番号

Spyderには、従来のPythonコンソールの代わりとなるIPythonが含まれています。IPythonにコマンドを入力すると、結果をインタラクティブに調べることができます。各コマンドは、「セル」、または出力を保存および照合できるコードのセグメントとして扱うことができます。

Spyderは、セルの動作をコードエディターに統合することで、これを追加します。特別にフォーマットされたコメントをPythonスクリプトに挿入すると、コメントをセルに分割し、IPythonインターフェイスでそれらのセルを任意の順序で実行できます。このように、Spyderを使用してセルのプロトタイプを作成し、後でIPythonノートブックに配置するのは簡単です。

デバッグには、SpyderはPythonの組み込みPdbデバッガーを使用します。 Pdbのコマンドラインインターフェイスは、PyCharmやLiClipseにあるより洗練されたグラフィカルデバッガーとはかけ離れていますが、オプションのアドオンとしてWinpdbグラフィカルデバッガーをインストールすることもできます。残念ながら、WinpdbはPython 2でのみ利用可能なパッケージ(具体的にはwxPython)に依存しているため、Python3では使用できません。そのために、ほとんどの人はPdbで立ち往生するでしょう。

Spyderは、GitやMercurialなどのバージョン管理システムとの統合において他のIDEと比較して制限されています。初期化されたプロジェクトリポジトリで作業している場合、そのプロジェクト内のファイルには、リポジトリの右クリックコンテキストメニュー項目が表示されます。とはいえ、Spyderに直接組み込まれているバージョン管理メカニズムはありません。適切なバージョン管理アプリケーションがシステムレベルにすでにインストールされており、その実行可能ファイルがシステムパスから利用可能である必要があります。 Spyderには、UIにリポジトリを管理するためのツールも含まれていません。これらの欠点は、リポジトリを自分で管理する習慣がすでにある場合はそれほど悪くはありませんが、そうでない場合はさらにハードルになります。

Spyderには、一般的なPython開発に役立つ機能があります。すぐに私の目を引いたのは、Spyderのインターフェースの可変エクスプローラーペインです。IPythonにコマンドを入力すると、作成された変数がそこに記録され、インタラクティブに探索できます。もう1つの便利なツールは、User ModuleDeleterです。これを有効にすると、Pythonインタープリターは、Pythonスクリプトを実行するときに、すべてのモジュールを最初から再読み込みします。このようにして、モジュールのコードに加えられた変更は、アプリケーション全体を再起動することなく、実行中のプログラムに適用できます。

ActiveState Komodo IDE

ActiveStateのIDE製品ラインには、ほぼすべての主要言語のバージョンが含まれています。これに対する同社のアプローチは、LiClipseの仕組みに少し似ています。基本的な製品(この場合はKomodo IDE)を使用して、Python開発用のアドオンを装備します。

コモドは、他の言語のコモドの化身にすでに精通している人に最適です。そのような経験を積んだ人は、Python製品に問題なく飛び込むことができます。寒い時期に来ている場合は、注目に値するUIの癖がいくつかあります。たとえば、アプリのメニューバーはデフォルトでは表示されません。右上のハンバーガーメニューをクリックするか、Altキーをタップして表示する必要があります。これは、問題をクリーンでシンプルに保つことを目的としていますが、一部の好みにはミニマリストすぎる場合があります。

一方、インターフェイスの選択肢のいくつかはすぐに魅力的です。特に、エディター内のコードのズームアウトプレビューである「ミニマップ」が気に入りました。これにより、編集しているファイルの任意の部分に一目でジャンプできます。LiClipseにも同様の機能がありますが、Komodoの実装は操作が簡単です。

ほとんどのPythonIDEには、Python固有の構文チェックやコードリンティングなどが装備されています。 Komodo IDEにはそれがすべてありますが、言語のバージョン2と3を同時にサポートするようにも設計されています。たとえば、Pythonシェルを起動する必要があり、システムパスで両方のバージョンのPythonのインタープリターを使用できる場合は、どちらかのバージョンを明示的に選択できます。 Python2とPython3で特定のステートメントの動作のクイックテストを並べて実行する必要があることがよくありますが、これはそのための便利な方法です。

Komodoには、アプリケーションに複数の実行構成またはデバッグ構成を適用するオプションがありますが、LiClipseの同様の機能よりも柔軟性が少し劣ります。アプリを起動すると、プログラムに適用するプロファイルを選択できます。プロファイルチューザを無効にして、プロファイルの実行に直接ジャンプできますが、無効化はアプリケーション全体でのみ実行でき、特定のプロジェクトでは実行できません。 LiClipseのツールバードロップダウンメニューが好きです。このメニューから特定のプロファイルを選択したり、最近使用したプロファイルをクリックするだけで起動したりできます。

本当に素晴らしいインクルージョンの1つは、正規表現ツールキットです。このツールの1つのペインに正規表現を入力し、それを適用するサンプルデータを2番目のペインに入力すると、結果が3番目のペインに表示されます。このツールは、Pythonを含む複数の正規表現もサポートしており、一致、分割、および置換操作の結果も表示します。私は常に実用的な正規表現の作成に苦労しているので、このツールは天の恵みです。

もう1つの便利なすぐに使える機能は、Pythonの一般的なコードスニペットのカタログです。たとえば、「ウォーク」をクリックすると、エディターはボイラープレートコードを挿入して、Pythonのos.walk関数を使用してディレクトリをトラバースします。この関数の構文と使用法は、すぐには思い出せません。他の言語も含まれています。たとえば、標準発行のHTMLを作成中のDjangoテンプレートに挿入する必要がある場合は、Komodoが対応します。

デフォルトのPythonディストリビューションには、すぐに使用できるSQLiteのサポートが付属しています。 Komodo IDEは、SQLiteデータベース用の組み込みエクスプローラーを提供することでこれを補完します。これは、MySQLまたはMicrosoft SQLServer用に提供されている「ワークベンチ」デスクトップアプリの簡略版のようなものです。インターフェースは不格好で魅力的ではありませんが、データベースの迅速で汚れた検査やスポット編集に完全に適しています。本格的なデータベースIDEとして機能することを目的としたものではありません。

特にPythonを対象としていない場合でも、Komodoには他にも多くの便利な機能があります。マクロレコーダーを使用すると、一般的なアクションを記録および再生できますが、アプリの起動時に使用するアプリプロファイルの選択など、一部の種類のアクションは記録されていないようです。別の機能により、Komodoユーザー間のリアルタイムコラボレーションが可能になりますが、サービスにアクセスするにはActiveStateのアカウントにサインアップする必要があります。

LiClipse 

Eclipse IDEは、遅くて過負荷であると批判されることがよくありますが、その幅広い言語サポートと開発アドオンのギャラリーにより、EclipseIDEは強力で価値のあるツールになっています。 Pythonは、PyDevアドオンを介してEclipseでサポートされています。 Python開発以外の目的でEclipseを使用している場合、最善の策はLiClipseを入手することです。 (このレビュー全体を通して、LiClipseとPyDevが一緒に提供する機能のバンドルの省略形としてLiClipseを使用します。)

LiClipseは、ユーザーエクスペリエンスを向上させることを目的とした他の多数のEclipseコンポーネントとともに、EclipseをPyDevで再パッケージ化したものです。起動すると、LiClipseはEclipseの通常版とほとんど同じように見え、動作しますが、LiClipseのブランドとアイコンがないため、経験豊富なEclipseユーザーはワークスペースを好みに合わせて構成するのにそれほど問題はありません。Eclipseの経験がない場合は、Eclipseのワークスペースがどのように動作するかを学ぶのに少し時間がかかります(Eclipseのこの側面は日常的に批判されています)。その意味で、LiClipseは、おそらくEclipseで別の言語を使用して作業することから、すでにEclipseに慣れている人に最適です。

スコアカード 能力(30%) パフォーマンス(10%) 使いやすさ(20%) ドキュメント(20%) アドオン(20%) 総合スコア(100%)
IDLE 3.5.1 6 7 8 7 5 6.5
Komodo IDE 10.1.1 8 8 7 8 8 7.8
LiClipse 3.1 9 7 7 8 9 8.2
PyCharm 2016.2.3 9 8 9 8 8 8.5
スパイダー3.0.0 7 7 7 7 6 6.8
Visual Studio2015用のPythonツール2.2 9 8 7 9 9 8.5