Pythonの統合開発環境でベストなものはどれか?

入門/解説

1.Pythonの統合開発環境でベストなものはどれか?まとめ

・Pythonのコードを書く際に使う開発環境を5種類の紹介
・Atom,Jupyter Notebook,PyCharm,Rodeo,Spyderの5種類
・初心者かベテランか科学技術計算かWebかなど要件によってベストは異なる

2.Pythonのコードを書く際に有用なソフトウェア5選

以下、www.kdnuggets.comより「What is the Best Python IDE for Data Science?」の意訳です。元記事の投稿は多分、2018年11月です。12月時点で過去30日の人気記事ランキングに入っていた記事でSaurabh Hoodaさんによる投稿です。

エディタは一度慣れると中々乗り換えは億劫ですが、年末年始等の長いお休みでは普段なかなかできないこういった事も検討できるのかなと。Jupyter Notebookが入っているのならばColaboratoryも入っていてよいのではとか、インストールの困難さに触れるのであればAnacondaについても書いた方が良いのでは等々、感じた事はあるのですがシンプルにまとめるのは中々難しい現状で誰がどうやって書いても突っ込みは受けると思うのでこれはこれで参考になる文章と思います。

2020年1月追記:2019年末に出た探索的プログラミングを実現するnbdevもチェックしておくと良いと思います
2020年11月追記:もし、Pythonを使って人工知能/機械学習を学ぼうと考えている場合はこちらの記事を先に読んでおいた方が良いです。ただ、人工知能を開発する際に使われる人気フレームワークの1つであるTensorFlowのデベロッパー認定資格はPyCharmを使って行われるので、資格取得などを見据えている場合はPyCharmが候補になるかもしれません。
2021年3月追記:GPU有でPyCharmをセットアップする手順を書きました。なお、TensorFlow Developer Certificate受験の際にはGPU無しでも問題ないとの事です。
GeForce RTX 3060搭載のWindows10のPCでTensorFlowとCUDAを有効にする
GeForce RTX 3060搭載のLinuxのPCでTensorFlowとCUDAを有効にする
またviに近代的なプラグインを入れる事でかなりpythonのコーディングは楽になります。

2022年7月追記:本記事では解説してませんが、Visual Studio Codeの人気が高まってきており、頭一つ抜け出しつつあるようです。Atomは開発が中止になりました。Jupyter Notebookはブラウザベースなので場所を選ばずリサーチ系の方には相変わらず人気があります。PyCharmはPythonオンリーの方は好む人が多く、SpyderはAnaconda系から入った人が使っている印象です。

Pythonの学習を始める前に、貴方にとって最適な統合開発環境(IDE)を選択してください。以下で、私達はPythonで利用可能な多くのIDEの長所と短所を調べ、あなたに最適なPython IDEを選ぶ方法を提案します。

Guido van Rossumによって作り出されたPythonの最初のリリースは1991年でした。Pythonはインタプリタで動く高級プログラミング言語で様々な汎用プログラミング開発が出来るように設計されました。Pythonインタプリタは、Linux、MacOS、Windowsなど、いくつかのオペレーティングシステムで利用できます。

最初のリリースから30年間で、Pythonはプログラミングコミュニティの間で非常に人気を集めました。Pythonコードを書き留めるためにIDLEまたはPythonシェルを使用することは小規模プロジェクトであれば効果的ですが、本格的な機械学習またはデータサイエンスプロジェクトに取り組むとしたら実用的ではありません。

このような場合は、IDEまたは専用のコードエディタを使用する必要があります。Pythonは人気の高いプログラミング言語の1つであるため、多数のIDEが利用可能です。問題は「Pythonに最高なIDEはどれですか」です。

どうやら、「最高」というラベルが付けられるPython用のIDEやコードエディタは1つもありません。それぞれが独自の長所と短所を持っているためです。さらに、膨大な数のIDEの中から選択するのは時間がかかるかもしれません。

しかし、心配する必要はありません。 あなたが正しいIDEを選択するのを助けるために、私達は特にデータサイエンスプロジェクトで働く人のために作られた、Pythonのための著名なIDEのいくつかを整理しました。 以下です。

(1)Atom
Platform – Linux/macOS/Windows
Official Website – https://atom.io/
Type – General Text Editor

Atomは、Java、PHP、Pythonなど、さまざまなプログラミング言語で利用可能な無料でオープンソースのテキストおよびソースコードエディタです。テキストエディタはNode.jsで書かれたプラグインをサポートしています。Atomは多くのプログラミング言語で利用可能ですが、興味深いデータサイエンティスト用の機能を備え、Pythonユーザに対する特別な愛情を示しています。

Atomがもたらす最大の機能の1つは、SQLでテーブルを照会する事です。ただし、この機能にアクセスするには、まずData Atomプラグインをインストールする必要があります。Microsoft SQL Server、MySQL、およびPostgreSQLをサポートします。さらに、他のウィンドウを開くことなくAtomで結果を視覚化する事もできます。

Pythonを使うデータサイエンティストにとって有益なもう1つのAtomプラグインはMarkdown Preview Plusです。これにより、Markdown形式のファイルの編集と視覚化のサポートが可能になり、LaTeX形式などのプレビュー、レンダリングも可能になります。

良い点
・活発なコミュニティサポート
・Gitとの素晴らしい統合
・複数のプロジェクトを管理するための機能の提供

足りない点
・古いCPUを搭載したパソコンではでパフォーマンスの問題が発生する可能性
・パッケージの移行の問題

(2)Jupyter Notebook
Platform – Linux/macOS/Windows
Official Website – https://jupyter.org/
Type – Web-based IDE

2014年にIPythonから生まれたJupyter Netbookは、クライアント サーバー構造に基づくWebアプリケーションです。ノートブックと呼ばれるノートブックドキュメントを作成したり操作したりできます。Jupyter NotebookはPythonのデータサイエンティストに最も直感的でインタラクティブなデータサイエンス環境を提供しているので押さえておくべきです。

訳注)IPythonはPythonに元々ある対話形式で実行していく機能を強力に拡張したものです

IDEとして動作することに加えて、Jupyter Notebookは教育またはプレゼンテーションツールとしても機能します。さらに、それはデータサイエンスを始めたばかりの入門者にとって完璧なツールです。Jupyter Notebookを使ってコードを簡単に見たり編集したりできるので、印象的なプレゼンテーションを作成できます。

MatplotlibやSeabornなどの視覚化ライブラリを使用すると、コードと同じドキュメントにグラフを表示できます。また、作業全体をPDF、HTML、または.pyファイルにエクスポートできます。IPythonと同様に、Project JupyterはNotebook自体、Console、Qtコンソールを含む多くのプロジェクトを包括するプロジェクトです。

良い点
・ノートブックからブログやプレゼンテーションを作成することができます
・研究結果を確実に再現可能な状態で公開する事ができます
・コードを段階的に一部分ずつ編集/実行していく事ができます

足りない点
・インストール手順がやや複雑です

(3)PyCharm
Platform – Linux/macOS/Windows
Official Website – https://www.jetbrains.com/pycharm/
Type – Python-specific IDE

PyCharmはPython専用のIDEです。Pythonに対するPyCharmは、Eclipseに対するJavaの関係です。フル機能の統合開発環境は、それぞれコミュニティ版とプロフェッショナル版と呼ばれる無料版と有料版の両方で利用できます。インストール方法が最も簡単で速いIDEの1つであり、データサイエンティストによって好まれています。

訳注)Eclipseは元々Java専用に作られた統合開発環境だったのですが出来が良かったので他の言語の開発時にも使われるようになりました。

IPythonやAnacondaディストリビューションと同様に、PyCharmはMatplotlibやNumPyのような描画ツールを簡単に統合する事ができます。つまり、データサイエンスプロジェクトで作業しながら、アレイビューアやインタラクティブプロットを使う事ができます。それ以外に、IDEはJavaScript、Angular JSなどのサポートを拡張します。これはWeb開発時に好都合です。

インストールが完了したら、PyCharmを使ってPythonコードの編集、実行、作成、およびデバッグをすぐに開始できます。新しいPythonプロジェクトを始めるためには、単純に新しいファイルを開いてコードを書き始めればOKです。直接デバッグと実行時デバッグ機能を提供することに加えて、PyCharmはソース管理とフルサイズプロジェクトのサポートも提供します。

良い点
・活発なコミュニティサポート
・データサイエンスプロジェクトと非データサイエンスプロジェクトの双方でPython開発のデファクトスタンダード
・初心者でもベテランでも使いやすい
・再インデックス作成の高速化
・外部の条件なしに独立してPythonコードを実行、編集、およびデバッグが可能

足りない点
・起動時の読み込みが遅いケースがあります。
・デフォルト設定では、既存のプロジェクトに適用する前に各種の調整が必要になる場合があります。

(4)Rodeo
Platform – Linux/macOS/Windows
Official Website – https://rodeo.yhat.com/
Type – Python-Specific IDE

オレンジ色のロゴは、このPython IDEが特にPythonでデータ分析作業を実行するために開発されたという事実を示唆しています。RStudioの使用経験があれば、Rodeoがその特性の多くを共有していることがわかるでしょう。RStudioを知らないあなたのために、RStudioはR言語のための最も人気のある統合開発環境です。

RStudioのように、Rodeoのウィンドウは4つの部分、すなわちテキストエディタ、コンソール、変数の視覚化のための環境、そしてplot/libraries/filesに分けられます。
驚くほどに、RodeoとRStudioはどちらもMATLABと非常によく似ています。

Rodeoの最も良いところは、初心者と熟練者の両方に同じレベルの利便性を提供することです。Python IDEを使用すると、開発しながら同時に表示および検索が可能になるため、Rodeoは、Pythonを使用してデータサイエンスを始める人にとっては間違いなく最高のIDEの1つです。IDEには組み込みのチュートリアルもあり、ヘルプも充実しています。

良い点
・豊富なカスタマイズ性
・作成しているものをリアルタイムで表示して探索する
・オートコンプリート機能と構文の強調表示機能、およびIPythonのサポートによりコードを高速に作成する

足りない点
・たくさんのバグ
・あまり活発ではないサポート
・メモリの問題に悩まされています

(5)Spyder
Platform – Linux/macOS/Windows
Official Website – https://www.github.com/spyder-ide/spyder
Type – Python-Specific IDE

SpyderはオープンソースのPython専用IDEです。IDEのユニークな点は、データサイエンスワークフローに最適化されていることです。これは、Pythonプログラミング言語の標準配布物であるAnacondaパッケージマネージャにバンドルされています。Spyderは、コード補完や統合されたドキュメントブラウザなど、必要なIDE機能をすべて備えています。

データサイエンスプロジェクトのために特化しているため、Spyderはあなたが素早く滑らかな学習曲線で学べると誇示しています。オンラインヘルプオプションを使用すると、プロジェクトを開発しながら、ライブラリに関する特定の情報を探すことができます。さらに、Python固有のIDEはRStudioと似ています。したがって、RからPythonに切り替えるときには、Spyderは賢明な選択肢です。

MatplotlibやSciPyなどのPythonライブラリに対するSpyderの統合サポートは、IDEが特にデータサイエンティスト向けであることをさらに証明しています。 かなりのIPython / Jupyter統合以外に、Spyderは独自の「可変エクスプローラ」機能を自由に利用できます。 テーブルベースのレイアウトを使用してデータを表示できます。IPython/Jupyterの統合機能以上に、Spyderは独自の「変数エクスプローラ」機能を自由に利用できます。これを使うとテーブルベースのレイアウトを使用してデータを表示できます。

良い点
・コード補完と変数探索
・使いやすい
・データサイエンスプロジェクトに最適
・きちんとしたインターフェース
・積極的なコミュニティサポート

足りない点
・非データサイエンスプロジェクト用の能力が足りない
・エキスパートのPython開発者にとっては基本的すぎる

Pythonに最適なIDEを選択する方法
まあ、これは完全にあなたが必要な機能が何であるかに依存します。ですが以下に一般的なアドバイスを書いておきます。

・Pythonを初めて使い始めるときは、カスタマイズの必要性や先進的な機能が少ないIDEを選択してください。気を散らすものが少なければ少ないほど、学習を開始するのが容易になるでしょう。

・IDEの機能とあなたがIDEに期待する事を比較してください

・いくつかのIDEを試してみると、貴方が必要な機能に対してどのIDEが最も良く提供しているかをよりよく理解するのに役立つでしょう。

著者
Saurabh Hoodaは、さまざまな分野で通信業界および金融業界の大企業のために世界的に活動してきました。Infosys and Sapientで10年間働いた後、彼は最初のスタートアップLenoを始め、超局所的な本の共有問題を解決しました。 彼は、製品マーケティングと分析に興味があります。 彼の最新のベンチャー企業であるHackr.ioは、あらゆるプログラミング言語に最適なData Scienceチュートリアルとオンラインプログラミングコースを推奨しています。 すべてのチュートリアルは、プログラミングコミュニティによって投稿され、投票されています。

3.Pythonの統合開発環境でベストなものはどれか?関連リンク

1)www.kdnuggets.com
What is the Best Python IDE for Data Science?

2)atom.io
Atom

3)jupyter.org
Jupyter Notebook

4)www.jetbrains.com
Pycharm

5)rodeo.yhat.com
Rodeo

6)www.github.com
Spyder

タイトルとURLをコピーしました