7.

Jupyter Notebook / JupyterLab 入門(インストール・ショートカット・nbconvert・Colab 比較)

編集
この記事の要点
  • Jupyter Notebook はブラウザ上で Python コードと Markdown を交互に書ける対話的環境。データ分析・機械学習の標準ツール
  • インストール: pip install notebook、起動: jupyter notebook
  • 後継 JupyterLabpip install jupyterlab + jupyter lab。タブ・サイドバー付きの IDE 風 UI
  • 主要ショートカット: Shift+Enter(実行・次セル)/ Ctrl+Enter(実行・留まる)/ A/B(上下挿入)/ DD(削除)
  • 出力: jupyter nbconvert --to html notebook.ipynb。クラウド版は Google Colab(GPU 無料・GitHub 連携・環境構築不要)

Jupyter Notebook とは

Jupyter Notebook はコード・実行結果・グラフ・Markdown 文書を 1 つのファイル(.ipynb)にまとめる対話的開発環境です。データ分析や機械学習・教育・実験記録のデファクト標準で、特に Python(IPython カーネル)との相性が抜群。R / Julia / Scala 等の他言語カーネルも追加可能です(Ju-py-te-r の名は Julia / Python / R から)。

2018 年以降は後継の JupyterLab も登場し、現在は両者が併存しています。新規ユーザは JupyterLab、既存ノートブックは Notebook という棲み分けが一般的です。

インストール

# 仮想環境を作るのが推奨
python -m venv .venv
source .venv/bin/activate     # Windows: .venv\Scripts\activate

# Jupyter Notebook(クラシック)
pip install notebook

# JupyterLab(後継)
pip install jupyterlab

# データ分析三種の神器も一緒に
pip install numpy pandas matplotlib seaborn

# 機械学習も
pip install scikit-learn

# Anaconda を使う場合は最初から全部入っている
# https://www.anaconda.com/download

起動

# Jupyter Notebook
jupyter notebook
# → ブラウザが自動で開き http://localhost:8888/ にアクセス

# JupyterLab
jupyter lab

# 特定ディレクトリで起動
cd ~/work/myproject
jupyter lab

# ポート指定
jupyter lab --port=9999

# トークン無しで起動(社内サーバ等。本番は非推奨)
jupyter lab --no-browser --ip=0.0.0.0 --NotebookApp.token='' --NotebookApp.password=''

セルの種類

種類用途
Code実行可能なコードimport pandas as pd
Markdown文書(見出し・数式・画像)# 見出し / $E=mc^2$
Raw変換対象外のプレーンテキストnbconvert で出力されない LaTeX 等

主要なキーボードショートカット

モードキー動作
編集中Shift+Enter実行して次セルへ
編集中Ctrl+Enter実行(セル留まる)
編集中Alt+Enter実行して下にセル挿入
編集中Escコマンドモードへ
コマンドA上にセル挿入
コマンドB下にセル挿入
コマンドDDセル削除
コマンドMMarkdown に変換
コマンドYCode に変換
コマンドZセル削除の取消
コマンドShift+M下のセルとマージ
共通Tab補完
共通Shift+Tab関数のシグネチャ表示

マジックコマンド

# 1. 行マジック(%)
%matplotlib inline       # グラフをセル内に表示
%time sum(range(10**6))  # 1 回の実行時間
%timeit sum(range(10**6))# 複数回平均
%who                     # 定義済変数一覧
%pwd                     # カレントディレクトリ
%ls                      # ファイル一覧
%env                     # 環境変数

# 2. セルマジック(%%)
%%time
# このセル全体の実行時間
total = 0
for i in range(10**6):
    total += i

# 3. シェル実行
!pip install requests
!ls -la
file_count = !ls | wc -l

# 4. HTML / JavaScript 表示
%%html

Hello

# 5. ファイル書込 %%writefile hello.py print("Hello from file")

kernel の操作

kernel はコードを実行するバックエンドプロセス。Python 環境を切り替えるなら kernel を追加します:

# 現在の kernel 一覧
jupyter kernelspec list

# 別の venv を kernel として登録
source ~/other-env/bin/activate
pip install ipykernel
python -m ipykernel install --user --name=other-env --display-name="Python (other-env)"

# kernel 削除
jupyter kernelspec remove other-env

# UI からは「Kernel → Change kernel」で切替可能

HTML / PDF 出力(nbconvert)

# HTML(最も簡単)
jupyter nbconvert --to html notebook.ipynb
# → notebook.html

# PDF(LaTeX 必須)
jupyter nbconvert --to pdf notebook.ipynb

# Python スクリプトに変換
jupyter nbconvert --to script notebook.ipynb
# → notebook.py

# Markdown
jupyter nbconvert --to markdown notebook.ipynb

# スライド(reveal.js)
jupyter nbconvert --to slides notebook.ipynb --post serve

# 入力セルを隠してアウトプットのみ
jupyter nbconvert --to html --no-input notebook.ipynb

Google Colab との比較

項目Jupyter (ローカル)Google Colab
環境構築pip install 必要不要(ブラウザだけ)
GPU/TPU自分の PC 次第無料で T4 GPU 利用可(時間制限あり)
パッケージ追加仮想環境で永続!pip install。セッション終了で消える
ファイル管理ローカルGoogle Drive / GitHub 連携
共有nbviewer / GitHubURL 共有・Google Docs ライク
長時間実行制限なし無料版は 12 時間で切断
機密データローカルで安全Google にアップロードされる

運用 Tips

  • セル番号In [3]:)は実行順を示す。順番が飛んでいると再現性が崩れる → Run All でリセット推奨
  • Git に commit する前に Kernel → Restart & Clear Output出力をクリアするとレビュー差分がきれい
  • 巨大データを print(df) しない(ファイルが MB 級になる)。df.head() + df.shape で抑える
  • 長期保守するなら .ipynb ではなく .py + jupytext でテキスト管理
  • 本番運用で notebook を実行するなら papermill(パラメータ注入・自動実行)

FAQ

Q: Jupyter Notebook と JupyterLab、どちらを選ぶ?
A: 新規なら JupyterLab。タブ式 UI・ファイルブラウザ・拡張機能が豊富。Notebook クラシックも引き続き使えるので、好みで OK。

Q: pip install したのに import できない
A: kernel が別の Python を見ている可能性。!which python / !pip install をセル内で実行してkernel と同じ Python に入れる

Q: 公開する前にアウトプットを消したい
A: メニューの Kernel → Restart Kernel and Clear All Outputs。または nbstripout を git pre-commit hook に。

編集
Post Share
子ページ
  1. インストールと起動方法(Linux, Mac)
  2. 起動方法(Windows)
  3. Jupyter Notebookが起動しない場合の対処方法
同階層のページ
  1. eclipse
  2. NetBeans
  3. Visual Studio
  4. Android Studio
  5. PyCharm
  6. XAMPP
  7. Jupyter Notebook
  8. Unity
  9. Xcode