2015/05/30 Python東海第27回勉強会
後藤 俊介 ( @antimon2 )
このスライドは、Jupyter + IJulia で作成しています。
このスライドは、Jupyter + RISE でリアルタイム表示しています。
println(join(map(ucfirst, ["hello", "world"]), ", "), '!')
Hello, World!
# solve x + y = 8, 2x + 4y = 26
A = [1 1; 2 4]
b = [8, 26]
A \ b
2-element Array{Float64,1}: 3.0 5.0
# Pkg.add("Gadfly")
using Gadfly
# ↑ v0.4.0-dev だと ↓ に WARNING が出力されてしまう
set_default_plot_size(7inch, 7inch/golden);
plot(x=rand(10), y=rand(10))
インライン: $\sum_{n=1}^{\infty} {1 \over n} = 2$, $P(x, \sigma, \mu) = \frac{1}{\sigma \sqrt{2 \pi}} e^{-(x-\mu)^2/2\sigma^2}$
ブロック: $$\sum\limits_{n=1}^{\infty} {1 \over n} = 2\\ P(x, \sigma, \mu) = \frac{1}{\sigma \sqrt{2 \pi}} e^{-(x-\mu)^2/2\sigma^2}$$
ここに IPython・IJulia・RISE をインストール。
Jupyter(=IPython Notebook)を利用するために
依存関係含めてまとめてインストール
↓
$ pip install 'ipython[notebook]'
または(古いバージョンがインストール済の場合)
$ pip install --upgrade 'ipython[notebook]'
確認
$ ipython --version
3.1.0
デフォルトで使用する方(Jupyter の起動に使う方)じゃない方の Python のカーネル設定を追加。
例:デフォルトを Python2、Python3 のカーネルを追加する場合。
$ cd ~/.ipython/kernels/
$ mkdir -p python3 && cd python3
$ vi kernel.json
kernel.json(サンプル):
{
"display_name": "IPython (Python 3)",
"language": "python",
"argv": [
"/path/to/user_home/.pyenv/versions/3.4.3/bin/python",
"-c", "from IPython.kernel.zmq.kernelapp import main; main()",
"-f", "{connection_file}"
],
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
}
各バージョンの Julia ごとに REPL で以下を実施:
Julia> Pkg.add("IJulia")
※古いバージョンがインストール済なら↓
Julia> Pkg.update()
※最新バージョンがインストール済で IPython を新しくした場合は↓
Julia> Pkg.build("IJulia")
確認(Julia の REPL から)。
Julia> Pkg.installed()["IJulia"]
v"0.2.5"
$ git clone https://github.com/damianavila/RISE.git
$ cd RISE
$ python setup.py install
※お好みに応じて。
vi ~/.ipython/nbextensions/livereveal/main.css
/* …《中略、最後の方に以下を追記》 */
.reveal .slides div.text_cell {
font-size: inherit;
}
.reveal .slides div.text_cell pre {
line-height: 1.5em;
}
$ ipython notebook
これだけ。
※ 実行した場所がワークディレクトリになるので注意。
ワークディレクトリを指定する場合は↓
$ ipython notebook --notebook-dir /path/to/work_directory
# Pkg.add("Images")
using Images
imread("celltool_slideshow.png")
imread("slidetypes.png")
⇒RISE によるリアルタイムスライドビューに移行!
imread("enter_slideshow_btn.png")
nbviewer を利用すると Jupyter で作成したスライドを簡単に公開可能。
.ipynb
ファイルのアップロード¶Jupyter で保存した .ipynb ファイルを GitHub/Gist/その他ネット上 に公開する。
《実演》 ⇒ https://gist.github.com/antimon2/2be8a00524deadb8e0a9
GitHubのリポジトリ名/GistID/URL をテキストフィールドに入力して [GO!] ボタンクリック。
《実演》 ⇒ https://nbviewer.jupyter.org/gist/antimon2/2be8a00524deadb8e0a9
表示されたページの [View as Slides] ボタンでスライド表示。
その時の URL(これがスライドの Permalink になる)を共有。
《実演》 ⇒ https://nbviewer.jupyter.org/format/slides/gist/antimon2/2be8a00524deadb8e0a9
一度変換したら10分くらいはキャッシュされて再変換されない。
URL の後ろに ?flush_cache=true
をつけて再表示すれば再変換される。
ref: FAQ / I want to remove/update a notebook from Notebook Viewer.
ご清聴ありがとうございました。