Jupyter Notebook 導入手順

Jpyter Notebook とは

  • markdown で書ける

markdown上で数式も書ける。

  • コードも実行できる

コードの実行結果も出力される。

コードの補完機能(tabキー)もある。

  • 共有機能

github(gist)にupするとhtml に自動変換される。

nbviewer からも閲覧でき、ファイルをDLできる。 nbviewer から見ると以下のリンクになる。

http://nbviewer.jupyter.org/gist/Cartman0/e935b27775f5b524737a/JupyterNotebookIntroduction.ipynb

  • 無料で使える!

デメリットとしては、

  • evernote のような複数ノートの検索ができない
  • タグ機能なし

サンプル

Markdown

ここはMarkdownです。

- list1
- list2
- list3

  • list1
  • list2
  • list3
    1. order1
    2. order2
    3. order3

  1. order1
  2. order2
  3. order3
    | left | center | right |
    |:--|:--:|--:|
    | data1 | data2 | data3 |

left center right
data1 data2 data3

Markdown(数式)

$x^2$は、xの2乗です。

$x^2$は、xの2乗です。

$$f'(x) = \lim_{\Delta x \rightarrow 0} \frac{f(x+\Delta x)-f(x)}{\Delta x}$$

$$ f'(x) = \lim_{\Delta x \rightarrow 0}{\frac{f(x+\Delta x)-f(x)}{\Delta x}} $$

コード

In [7]:
print('コードも書けるぞ')
print('Hello World')
コードも書けるぞ
Hello World
In [8]:
1+1
Out[8]:
2
In [9]:
def fib(_max: int) -> list:
    pre, now = 0, 1
    result=[]
    while(now < _max):
        result.append(now)
        pre, now = now, pre+now
    return result

fib(1000)
Out[9]:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987]

sympy を使うと数式をそのまま出力ということもできる。

In [10]:
from sympy import Symbol
from sympy import init_printing
init_printing()

x=Symbol('x')
y=Symbol('y')

expr = (x+y)**2
expr
Out[10]:
$$\left(x + y\right)^{2}$$
In [11]:
expr.expand()
Out[11]:
$$x^{2} + 2 x y + y^{2}$$

インストール手順

環境

  • Windows10 64bit
    • conda 4.05
      • python 3.5.1

インストール

インストール方法は、公式にも書いてある

https://jupyter.readthedocs.org/en/latest/install.html#new-to-python-and-jupyter

  1. パッケージ「jupyter」 を検索

     > conda search jupyter
    
     Using Anaconda Cloud api site https://api.anaconda.org
     Fetching package metadata: ....
     jupyter                      1.0.0                    py27_0  defaults
                                  1.0.0                    py34_0  defaults
                                  1.0.0                    py35_0  defaults
                                  1.0.0                    py27_1  defaults
                                  1.0.0                    py34_1  defaults
                                  1.0.0                    py35_1  defaults
                                  1.0.0                    py27_2  defaults
                                  1.0.0                    py34_2  defaults
                               *  1.0.0                    py35_2  defaults
  2. jupyter をインストール

     > conda install jupyter
  3. インストールされたか確認

     > jupyter --version
    
     4.1.0

jupyter notebook コマンドが使えるか確認

    > jupyter notebook --version

    4.1.0

jupyter notebookの起動

起動

立ち上げてみよう。

jupyter notebook

ブラウザが立ち上がる。

ノートの作成

http://localhost:8888/tree の右上から「New」> 「Python3」 を選択するとノートを作成。

ノートの作成

ショートカットキー

メニューから、Help > Keyboard Shortcuts から見れる。

Commandモード

機能 ショートカット
Editモードへ切り替え Enter
ファイルの保存 s or Ctrl+s</kbd>
ファイル内検索・置き換え f
Markdownセルへ切り替え m
Codeセルへ切り替え y
カーソル移動 down:j or , up:k or
セルの削除 d, d
選択中のセルの実行 Ctrl+Enter</kbd>
セルの実行+下のセルへ Shift+Enter</kbd>
セルの実行+下にセルを追加 Alt+Enter</kbd>
下にセルを追加 b
上にセルを追加 a
セルのコピー c
セルのペースト v

Editモード

機能 ショートカット
Commandモードへ切り替え Esc or Ctrl+M</kbd>
補完 or インデント Tab
1行削除 Ctrl+d</kbd> or Shift+Delete</kbd>

ノートの共有

ノートファイル(.ipynb)をGoogleDriveまたは、Dropboxに上げておくとほかの環境で実行・保存・バックアップもできる。

クラウドでの共有

ホームディレクトリの変更

http://localhost:8888/tree は、デフォだとディレクトリとして、C:/Users/[user]/ あたりが開かれる。 これをGoogleDriveかDropboxに、ノート用のワークスペースを作っておくとノートファイルを作りやすいし、開きやすい。

1.設定ファイルの作成

以下のコマンドで、~/.jupyter内にjupyter_application_config.py という設定ファイルが生成される。

jupyter notebook --generate-config

2.設定ファイルの190行目あたりを変更する。

今回は、GoogleDrive上に、JupyterNoteというワークスペース(フォルダ)を作成。

# The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = u'GoogleDrive\\JupyterNote'

これでホームディレクトリが変更される。

参考:Jupyter Notebookをインストール・設定して勉強ノート作成環境をつくる [Mac] Qiita

Gist・Githubで共有

Gist・Githubに.ipynbファイルをupして共有できる。 コードの実行はできなく、閲覧のみ

リポジトリページにアクセスすると、HTMLに変換される。

また、nbviewer から閲覧すると、 HTMLに変換されたページが表示されるのでスマホのブラウザからも閲覧される。

(※iPhone Safariでgistページにアクセスすると、.ipynbの実体であるjsonが開かれた。)

注意

この際、gist secretも使えるが、 git secret はURLが特定されると誰でも見られてしまうので注意。

見られたくないノートは

  • ローカル(+クラウド) or
  • Github private

にすべき。

markdownで画像挿入したノートをgist にup する時の注意

markdownで挿入した画像ありノート(.ipynb)をGist にそのままupしても、画像自体はアップロードされない。

その場合、画像ファイルを参照できるようにどこかに上げておく必要がある。 わかりやすいのは、画像ファイルを.ipynbと同じGistリポジトリに上げておく。

Gistに画像をupload - はしくれエンジニアもどきのメモ

参考リンク