PythonベースのノートブックシステムJupyter

最近よく使用しているツールでJupyterというのがあります。

特徴は

  • Pythonベース、元はIPythonというもので、インタラクティブなPython環境を提供するシステムだった。
    • 今はPython以外も使えるようになったので、Project Jupyterとなった。IPython自体はインタラクティブなPython環境を提供するものとして開発が続けられていて、JupyterもPython実行部分では使用している。
  • 表記記法としてMarkdown(LaTeX文法も使える!)を使用可能。
  • コード部分はノート内で実行可能。

というようなものです。(個人的にはPythonでしか使っていないので、他の言語部分については使用感などはよくわかっていません……。)

個人的に気に入っている点は

  • Pythonの様々な機能を利用できる。例えば、Tensorflowなどのライブラリも使える。目的に応じてSciPyNumPyを利用して高度な計算やプロットなどをしたり、SymPyを使用してCAS(数式処理システム)として使用できたり、Pandasや各種のPythonの内蔵のライブラリを使ってデータベースへのアクセスなどができたりします。
  • ノートは保存して共有できるので情報共有も可能。尚、nbviewerというのも存在しておりオンライン上に存在するノートブックを閲覧することも可能です。GitHubGistなどはこのため、ノートブックファイルを表示することが可能。
  • コードをPythonとして保存することも可能なため、インタラクティブに実行するPythonコード開発環境としても使える。表記したノートなどはコメントとして出力してくれる。

導入は個人的にはLinuxとWindowsで試しましたが、Anacondaを使用するのが一番楽だと思います。

(ちなみにAnaconda自体は商業プラットフォームとして追加のモジュールを販売していますので、特に業務利用などで追加のサポートや機能が必要で予算が取れる場合は、そのような方向にスケールできる、というメリットもあります。個人使用にはお高いですが……。)

もちろん特にLinuxの場合はそのままpipを使用してJupyterを入れるという方法もあります。

また気が向いたら細かい部分についても解説していきたいと思います。