Python、Jupyter、Anaconda、Google Colab の違い

プログラミング

いずれの環境・アプリケーションでも Python を実行することは可能です。それぞれに特徴がありますのでご自身の用途に合わせて選択したいのですが、初学者にとっては違いが判断しづらいところだと思います。しかし「デバッグ」という観点で判断すると、私は「Python」一択だと思います。

Python ~ Google Colab のそれぞれの特徴を簡単にまとめた後、それぞれの環境での「デバッグ」方法も記載します。参考にして下さい。

Python

当ブログでオススメしている最小限のインストール方法です。Windows の場合、スタートメニューに「Python 3.9」等のフォルダが追加され、その中から IDLE 等の実行環境を起動することができます。ただしオマケ程度の機能しかないので、 VS Code 等の高機能エディタや PyCharm 等の IDE(IDLE)を併用することが前提になります。これは、初心者~上級者まで変わらないでしょう。

IDLE で 実行している様子
コマンドプロンプトで実行している様子
PowerShell で実行している様子

VS Code で実行している様子
メリットデメリット
・「Python入門」などの書籍や、ネット上で見つかる初心者向けの情報の多くが該当するため、情報収集がしやすい。
・必要なライブラリを追加する場合も大抵の場合「pip」コマンドでインストール可能なので困らない。
※後述の「Anaconda」では「pip」の代わりに「conda」というコマンドを使用すべきですが、情報が少ないです
・VS Code を使えば簡単にデバッグできるようになる。
・最小限のライブラリしかインストールされないので、複雑なことをしようとすると自身でライブラリを別途インストールする必要がある。
・VS Code 等の高機能エディタ、または PyCharm 等の IDE(IDLE)を併用しないと、プログラミングしづらい

Jupyter

Jupyter Notebook と JupyterLab があります。JupyterLab は Jupyter Notebook の後継者なので、こちらを使っておけば問題ないでしょう。エディタ機能が搭載されているため、VS Code 等を使わなくてもプログラミング可能です。Python のプログラミングと、ドキュメントをまとめて1つのファイルで管理できるのでレポート作成にも適しています。

まだまだ先の話になりますが、pandas というライブラリを使ってデータ解析をする場合、データの中身やグラフをキレイに表現してくれる……というのは強みですね。データやグラフを表示している様子は、本記事の下の方に画像がありますので、最後まで読み進めて下さい。
Jupyter は Python をインストールした後、以下のコマンドでインストールできます。

pip install jupyterlab

Jupyter のインストールが完了したら、続けて以下のコマンドを実行します。ブラウザが起動して Jupyter を使えるようになります。

%AppData%\Python\Python39\Scripts\jupyter-lab --notebook-dir=%userprofile%\Documents
JupyterLab を使ってプログラミングしている様子
メリットデメリット
・VS Code 等のエディタや PyCharm 等の IDE がなくても、プログラミングする環境が手に入る
・プログラムとドキュメントを1つのファイル(.ipynb ドキュメント)で管理できる
・Jupyter を起動するためのコマンドを毎回、入力する必要がある
・Jupyter 上でデバッグするには「xeus-python」をインストールする必要があるが、そのためには「conda」系の環境をインストールする必要があるため環境準備が大変(こちらの記事を参考にして下さい)

Anaconda

「Python + Jupyter + データ解析に必要なライブラリ」が一気に手に入ります。Windows で Anaconda をインストールするとスタートメニューに「Anaconda」のフォルダが追加されます。その中の「Anaconda Navigator」を使うと Python のライブラリを管理したり環境を構成することができます。

VS Code や JupyterLab の起動もここから行ってください。

Anaconda Navigator を起動した様子
メリットデメリット
・要/不要を問わず、大量のライブラリを最初から使う環境が手に入るので、準備が簡単
・Anaconda Navigator を使ってビジュアル的に操作できる
・「python」や「pip」の代わりに「conda」コマンドを使用します。入門書に記載がない方法なので初心者向けではない
・何をするにも「Anaconda Navigator」起点とする前提なのに、Anaconda Navigator の起動に時間がかかる

Google Colab(正式:Google Colaboratory)

Jupyter Notebook をベースに Google さんが独自進化させた環境です。Google アカウントがあれば、自身の PC に Python をインストールしなくてもブラウザから直ぐに利用可能です。GPU を無料で使えたり、Forms という変数調整の機能を使えたりします。

Google Colab を利用してプログラミングしている様子
メリットデメリット
・Google アカウントとブラウザがあれば直ぐに Python を使うことができる
・GPU が持つ高い演算能力を利用可能
・作成したプログラムは Google Drive に自動で保存されるので、いつでも続きの作業ができる
・Google Colab に標準で準備されていないライブラリを使うためには標準と違った方法が必要
・デバッグできなくはないが、素人には先ず不可能なレベル

それぞれの環境でのデバッグ作業の様子

“デバッグ” は「コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業」(Wikipedia)という行為です。しかし、最近のツールは「どの行が実行されているのか?」「変数にどんな値が入っているのか?」を視覚的に表現してくれるので、バグ・欠陥が無くても、理解を深めるために積極的に活用して下さい。初心者にこそオススメの行為です!

ここからは上で紹介したそれぞれの環境でのデバッグの様子を紹介します。やはりイチオシは「Python ✕ VS Code」です!

Python ✕ VS Code でデバッグ

VS Code でデバッグを行うと、現在、実行されいてる行がハイライトされます。各変数(x, y, z)にどんな値が入っているかも簡単に確認できます。プログラムを1行ずつ止めながら実行できるので、落ち着いて確認作業を進められます。

操作はマウスを使って行うので難しいことを覚える必要はありません。

VS Code でデバッグ実行している様子

Jupyter、Anaconda(JupyterLab, xeus-python)でデバッグ

ほぼ VS Code と同じ UI になります。入力補完(インテリセンス)も可能です。pandas の DataFrame をキレイに表示したり、グラフをインラインで表現できたりと他にもいいところがあります。

Jupyter を起動するのは手間ですが、慣れてきたらこれもいいかな〜と思います。

JupyterLab でデバッグ実行している様子

Google Colab でデバッグ

ブレークポイント(pdb.set_trace())をソース中に記載します。実行するとブレークポイントでとまり、入力を求められるので「p(rint) 」や「n(ext)」を入力します。確かにデバッグはできますが、これでデバッグしたいとは思えませんでした。ハッキリ言って私には苦行です。
元が Jupyter なので DataFrame やグラフはキレイに表示されますね。

Google Colab でデバッグ実行している様子

いかがだったでしょうか?それぞれの環境に良いところ、いまいちなところがあります。ご自身のスキル、状況に合わせて選択して下さい。どの環境を構築しようか迷っている方に、この記事が少しでもお役に立てばと思います。

コメント

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