Contents
Anaconda(アナコンダ)は超便利!
前回はPythonをより便利に使用できる開発環境「Anaconda(アナコンダ)」のインストール方法について書きました。
そして、今回はAnacondaに内包されている便利ツールの1つである「Jupyter Notebook(ジュピターノートブック)」の使い方について初心者向けに丁寧に解説していきたいと思います。
Jupyter Notebookとは?
ANACONDAにはいろいろな便利ツールありますが、その中でも一番人気&需要があるのはおそらく「Jupyter Notebook(ジュピターノートブック)」でしょう。この「Jupyter Notebook」は簡単に言うと電子ノートです。前身はIPYTHONというもので、それをアップデート&改良したものが「Jupyter Notebook」です。なので、Ipython=Jupyter Notebookです。
この「Jupyter Notebook」は、Pythonのコードを一行一行実行&確認しながら進めるので非常に使い勝手が良く、コードも共有しやすく、pythonをそのままダウンロード・インストールすると付属しているIDLEではできないグラフの描画&表示ができたりと非常に便利です。なので、「Jupyter Notebook」はPythonでAI・機械学習・データ分析などでのコーディング作業を行う上で絶対に欠かせないツールです。
Jupyter Notebookの特徴
まずJupyter Notebookの特徴としては、通常の.pyファイルとは違い、数行ずつ試しながらコードを実行できる点です。普通の.pyファイルならばコードを全部書いて保存・実行エラーみたいなめんどくさい工程を踏まなければいけませんが、jupyter notebookなら1行1行見直して1行ごとに修正・実行ができます。
なので、長文のコードの中でも一部を指定して実行出来たりとコードを書く上でどこがおかしいのかが簡単に分かるようになります。つまり基本的にjupyter notebookの使い方は短いコードを実行して動作を試行錯誤するためツールで、完成品の作文を書くのに使う下書き用ノートみたいなものだと言えます。
このように「Jupyter Notebook」は、コード記述と修正を繰り返し、動作を確認しながらプログラムを設計できるので、Pythonを独学する上でも非常に心強いツールです。他にも外部のライブラリーやフレーム外部との連携も簡単なのも長所の1つです。
また「Jupyter Notebook」は初心者向けだけではなく、実際にツールなどを一から作る上級者向けにも便利な仕様がたくさん存在しています。例えばウェブブラウザ上で作業が行えるので複数の開発メンバーがいる場合、「Jupyter Notebook」を入れていればコードを簡単に共有することもできますし、構成管理ツール(Ansible, Chef, Puppet など)を組み合わせてサーバー基盤構築も自動化できます。
またデータ分析や機械学習・深層学習におけるチューニングなど何度もPythonコードの実行と修正するような場面では、 「Jupyter Notebook」を使った方がエディタとコンソール画面を行き来しなくても済むので作業効率が良く、データサイエンティストなどにも人気があります。
「Jupyter Notebook」では、コードの自動補完もしてくれるのに加えて、本格的なテキストエディタ(例えば Visual Studio Codeなど)を利用すると、自動補完だけでなく記述したコードがPython規約(PEP8)に沿ってきれいに記述されているかチェックしたりもしてくれます。こんな感じで「Jupyter Notebook」は初心者から上級者まで幅広く愛用されている超便利ツールです。
ただJupyter notebookはあくまで下書き用のノートみたいな感じで、仕様上完成したコードを実行する本番環境としては向いていないので、完成したコードはSpyderなりテキストエディタを使って.pyファイルで保存して、コマンドラインから実行するのが一般的です。
実際にJupyter Notebookを使ってみる
さて前置きはここまでにして実際にJupyter Notebookを使っていきましょう。Windows10なら、まずはスタートボタン(Windowsボタン)⇒プログラム⇒A⇒Anaconda Navigeterを起動し、その中にあるJupyter Notebookを起動します。
そして2枚目に画像内部にあるように3つのタブがあります。(Files・Running・Cluster)
①Files
Filesではファイルエクスプローラーでいうところの「Cドライブ⇒User⇒任意のユーザー名」の中身が表示されます。これは自分のPC内部データですので、ここでファイルの削除などを行うとそのままファイルが削除されたりするので扱いには気を付けましょう。もちろんフォルダ名をクリックすれば、移動することもできます。
②Running
Runningのタブでは現在起動しているターミナルやノートブックが表示されます。ここからshutdownで要らないターミナルを終了させることもできます。Notebookがバグったりしたときはここからシャットダウンで強制終了させましょう。
③Clusters
ここは複数のPCで演算したりする機能です。私のように独学で簡単なプログラムを作る人間にはあんまり関係ないので飛ばします。
Jupyter Notebookの基本的な使い方
Jupyter Notebookでは新しくノートを作成する際はホーム画面のFileタブから右上にあるnewボタンをクリックし、Python3を選択します。
すると↓のような感じで、新しいノートが作成されます。
何も指定しなければこの新規ファイルの名前は「Umlimited」となりますが、上部のUmlimited(上画像ではUmlimited13)のところをクリックすると、ファイル名の変更(rename)ができます。
ちなみにこの「Jupyter notebook」での作業記録はpyファイルではなく、.ipnbという形式なので、コマンドラインなどでの実行はできません。jupyter notebookで完成したコードを実行するときはそれをSpyderにコピペして.py形式で保存しましょう。
もし仮にSpyderが動かないという人は他にも一応、テキストエディタ(メモ帳やさくらエディタなど)にコピペして形式を.txtから.pyに変えるという力業もあります。
試しに恒例のHELLO Worldをやります。コードを入力したら「Run」でコードを実行します。↓のような感じでなにも問題がなければ返事が返ってきます。他にもコードの実行は「Shift+Enter」でもできます。一般的に一々Runをクリックしに行くのは面倒なので、「Shift+Enter」をみんな使っています。
他にもこれはjupyter notebookに限ったコマンドではありませんが、コードをドラッグした状態で、「Ctrl+C」でコピーができ、「Ctrl+V」でコピーしたコードを張り付けることができます。
ショートカットコマンドはたくさんありますが、とりあえず以下の3つは超使うので覚えておいて損はないです。
JupyterNotebookでよく使うショートカットコマンド |
---|
「Ctrl+C」:コピー |
「Ctrl+V」:ペースト |
「Shift+Enter」:実行 |
そしてライブラリーもインポートでき、Anacondaに元から内蔵されている「request」などの便利ライブラリーもpipなしでインポートできます。
コードを書き終わったら左端のボタンを押して作業内容を保存します。保存した作業状況は特に何も指定しない限り、起動すると最初の表示されるfileタブのディレクトリに.pynbファイルとして保存されます。またファイルは一定時間で自動保存されています。
「jupyter notebook」には他にも便利な機能があり、そういった話は「PythonユーザのためのJupyter[実践]入門」という本にわかりやすくまとめられているので、オススメです。自分はこの本をpythonを勉強するうえで一番最初に購入して読んだのですが、非常に分かりやすく感動しました。
ライブラリーを新しくインストールする
そして「JupyterNotebook」には標準的なライブラリが既に実装されていますが、僕は仮想通貨やデータ分析でAnacondaを使う時に専門的なライブラリが欠けていることがありました。
そんなときは「jupyternotebook」はAnacondaの一部なので、Anaconda環境でのコマンドプロンプトであるAnaconda prompt(アナコンダプロンプト)を開いてcondaかpipコマンドを使って目当てのライブラリーをインストールしましょう。
ここで注意したいのはcondaコマンドでインストールされたライブラリをpipで上書きすると最悪Anaconda自体がクラッシュする危険があるという点です。なのでまずは「conda install 〇〇 」を実行してライブラリがないのを確認してからpipコマンドでインストールするように心掛けましょう。
※pipが古い時は最新版にアップデートする必要があります。↓
# pip のバージョンを最新化
python -m pip install –upgrade pip
終わり
jupyter notebookの最低限の知識はこんな感じだと思います。他にもショートカット機能があったり、コマンドもここで紹介した以外の機能もあるみたいなので、興味のある方は勉強してみてください。
自分は今まで数多くのpython関係の参考書を購入しましたが、Pythonの躓きやすい(他の言語の比べれば断然低いですが・・・)ところは、本家pythonとAnacondaの区別、Anacondaの環境設定だと思います。
ここがPythonをやり始めるときにはまりやすいポイントですが、そこさえ乗り切れば、恐らく一番簡単に高度なプログラミングができるプログラミング言語なので頑張ってください!
ちなみに今まで自分が購入したPythonの参考書の中では「PythonユーザのためのJupyter[実践]入門」か「データ分析ツールJupyter入門」という本が、その辺りを分かりやすく説明していたと思うので、「Anaconda」と「jupyter notebook」がよーわからんという方は是非読んでみてください。
自分が実際に2冊購入して読み比べた感じだと「PythonユーザのためのJupyter[実践]入門」はJupyternotebookとpandasについて重点的に取り上げていて、pandasでの購買データや時系列データの操作matplotlibでプロットでの様々なグラフの出力や日本語表示など基本的な部分を徹底的に解説しており初学者向けだと思いました。
そして「データ分析ツールJupyter入門」の方は「JupyterNotebook」と線形代数の計算などで使うnumpyの説明、そこから機械学習の方法について書かれているので、機械学習・深層学習で「jupyternotebook」を使いたい人向けだと思います。内容はいいですが、説明が少し雑なので、pythonとJupyterをある程度使っている理系の人向けかなと思います。
「JupyterNotebook」や「Spyder」を始めとしたAnacondaのツールは、多すぎますし、ぱっと見使い方がよく分からず敬遠してしまう人がいますが、ちゃんと使い方が分かると超便利なので、是非使いこなせるようにしておきましょう!!
コメント
Hоwdy I am so gratеful I foᥙnd your webѕite, I really found you by accident, while I was resеarching on Bіng for something еlse, Anyways I am here now and ᴡould just like to sayy cheers for a remarkable poѕt and
a all round exciting blog (I aⅼso love the theme/dеsіgn), I
don’t have tine to go thгough itt ɑll at the minute but I have saved it and
also added in your RSS feeds, so when I hawve time I wіll be back tօ
гead more, Please do қeep up the great worқ.