Skip to content

Instantly share code, notes, and snippets.

@Cartman0
Last active March 26, 2016 08:53
Show Gist options
  • Save Cartman0/e935b27775f5b524737a to your computer and use it in GitHub Desktop.
Save Cartman0/e935b27775f5b524737a to your computer and use it in GitHub Desktop.
Jupyter notebookインストール手順
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"heading_collapsed": true,
"toc": "true"
},
"cell_type": "markdown",
"source": "# Table of Contents\n <p><div class=\"lev1\"><a href=\"#Jupyter-Notebook-導入手順-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>Jupyter Notebook 導入手順</a></div><div class=\"lev2\"><a href=\"#Jpyter-Notebook-とは-1.1\"><span class=\"toc-item-num\">1.1&nbsp;&nbsp;</span>Jpyter Notebook とは</a></div><div class=\"lev2\"><a href=\"#サンプル-1.2\"><span class=\"toc-item-num\">1.2&nbsp;&nbsp;</span>サンプル</a></div><div class=\"lev3\"><a href=\"#Markdown-1.2.1\"><span class=\"toc-item-num\">1.2.1&nbsp;&nbsp;</span>Markdown</a></div><div class=\"lev3\"><a href=\"#Markdown(数式)-1.2.2\"><span class=\"toc-item-num\">1.2.2&nbsp;&nbsp;</span>Markdown(数式)</a></div><div class=\"lev3\"><a href=\"#コード-1.2.3\"><span class=\"toc-item-num\">1.2.3&nbsp;&nbsp;</span>コード</a></div><div class=\"lev2\"><a href=\"#インストール手順-1.3\"><span class=\"toc-item-num\">1.3&nbsp;&nbsp;</span>インストール手順</a></div><div class=\"lev3\"><a href=\"#環境-1.3.1\"><span class=\"toc-item-num\">1.3.1&nbsp;&nbsp;</span>環境</a></div><div class=\"lev3\"><a href=\"#インストール-1.3.2\"><span class=\"toc-item-num\">1.3.2&nbsp;&nbsp;</span>インストール</a></div><div class=\"lev2\"><a href=\"#jupyter-notebookの起動-1.4\"><span class=\"toc-item-num\">1.4&nbsp;&nbsp;</span>jupyter notebookの起動</a></div><div class=\"lev3\"><a href=\"#起動-1.4.1\"><span class=\"toc-item-num\">1.4.1&nbsp;&nbsp;</span>起動</a></div><div class=\"lev3\"><a href=\"#ノートの作成-1.4.2\"><span class=\"toc-item-num\">1.4.2&nbsp;&nbsp;</span>ノートの作成</a></div><div class=\"lev3\"><a href=\"#ショートカットキー-1.4.3\"><span class=\"toc-item-num\">1.4.3&nbsp;&nbsp;</span>ショートカットキー</a></div><div class=\"lev2\"><a href=\"#ノートの共有-1.5\"><span class=\"toc-item-num\">1.5&nbsp;&nbsp;</span>ノートの共有</a></div><div class=\"lev3\"><a href=\"#クラウドでの共有-1.5.1\"><span class=\"toc-item-num\">1.5.1&nbsp;&nbsp;</span>クラウドでの共有</a></div><div class=\"lev4\"><a href=\"#ホームディレクトリの変更-1.5.1.1\"><span class=\"toc-item-num\">1.5.1.1&nbsp;&nbsp;</span>ホームディレクトリの変更</a></div><div class=\"lev3\"><a href=\"#Gist・Githubで共有-1.5.2\"><span class=\"toc-item-num\">1.5.2&nbsp;&nbsp;</span>Gist・Githubで共有</a></div><div class=\"lev4\"><a href=\"#注意-1.5.2.1\"><span class=\"toc-item-num\">1.5.2.1&nbsp;&nbsp;</span>注意</a></div><div class=\"lev4\"><a href=\"#markdownで画像挿入したノートをgist-にup-する時の注意-1.5.2.2\"><span class=\"toc-item-num\">1.5.2.2&nbsp;&nbsp;</span>markdownで画像挿入したノートをgist にup する時の注意</a></div><div class=\"lev2\"><a href=\"#参考リンク-1.6\"><span class=\"toc-item-num\">1.6&nbsp;&nbsp;</span>参考リンク</a></div>"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Jupyter Notebook 導入手順"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Jpyter Notebook とは"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "- markdown で書ける\n\nmarkdown上で数式も書ける。\n\n- **コードも実行できる**\n\nコードの実行結果も出力される。\n\nコードの補完機能(tabキー)もある。\n\n- 共有機能\n\ngithub(gist)にupするとhtml に自動変換される。\n\n[nbviewer](http://nbviewer.jupyter.org/) からも閲覧でき、ファイルをDLできる。\nnbviewer から見ると以下のリンクになる。\n\nhttp://nbviewer.jupyter.org/gist/Cartman0/e935b27775f5b524737a/JupyterNotebookIntroduction.ipynb\n\n- 無料で使える!"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "デメリットとしては、\n\n- evernote のような複数ノートの検索ができない\n- タグ機能なし"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## サンプル"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Markdown"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "ここはMarkdownです。\n\n - list1\n - list2\n - list3\n\n- list1\n- list2\n- list3\n\n\n 1. order1\n 2. order2\n 3. order3\n\n1. order1\n2. order2\n3. order3\n\n\n\n | left | center | right |\n |:--|:--:|--:|\n | data1 | data2 | data3 |\n\n| left | center | right |\n|:--|:--:|--:|\n| data1 | data2 | data3 |"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Markdown(数式)"
},
{
"metadata": {},
"cell_type": "markdown",
"source": " $x^2$は、xの2乗です。\n \n$x^2$は、xの2乗です。\n\n\n $$f'(x) = \\lim_{\\Delta x \\rightarrow 0} \\frac{f(x+\\Delta x)-f(x)}{\\Delta x}$$\n\n$$\nf'(x) = \\lim_{\\Delta x \\rightarrow 0}{\\frac{f(x+\\Delta x)-f(x)}{\\Delta x}}\n$$\n\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### コード"
},
{
"metadata": {
"trusted": false,
"collapsed": false
},
"cell_type": "code",
"source": "print('コードも書けるぞ')\nprint('Hello World')",
"execution_count": 7,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "コードも書けるぞ\nHello World\n"
}
]
},
{
"metadata": {
"trusted": false,
"scrolled": true,
"collapsed": false
},
"cell_type": "code",
"source": "1+1",
"execution_count": 8,
"outputs": [
{
"execution_count": 8,
"metadata": {},
"data": {
"text/plain": "2"
},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false,
"collapsed": false
},
"cell_type": "code",
"source": "def fib(_max: int) -> list:\n pre, now = 0, 1\n result=[]\n while(now < _max):\n result.append(now)\n pre, now = now, pre+now\n return result\n\nfib(1000)",
"execution_count": 9,
"outputs": [
{
"execution_count": 9,
"metadata": {},
"data": {
"text/plain": "[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987]"
},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "sympy を使うと数式をそのまま出力ということもできる。"
},
{
"metadata": {
"trusted": false,
"collapsed": false
},
"cell_type": "code",
"source": "from sympy import Symbol\nfrom sympy import init_printing\ninit_printing()\n\nx=Symbol('x')\ny=Symbol('y')\n\nexpr = (x+y)**2\nexpr",
"execution_count": 10,
"outputs": [
{
"execution_count": 10,
"metadata": {},
"data": {
"text/latex": "$$\\left(x + y\\right)^{2}$$",
"text/plain": " 2\n(x + y) "
},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false,
"scrolled": true,
"collapsed": false
},
"cell_type": "code",
"source": "expr.expand()",
"execution_count": 11,
"outputs": [
{
"execution_count": 11,
"metadata": {},
"data": {
"text/latex": "$$x^{2} + 2 x y + y^{2}$$",
"text/plain": " 2 2\nx + 2⋅x⋅y + y "
},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## インストール手順"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### 環境"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "- Windows10 64bit\n - conda 4.05\n - python 3.5.1"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### インストール"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "インストール方法は、公式にも書いてある\n\nhttps://jupyter.readthedocs.org/en/latest/install.html#new-to-python-and-jupyter\n\n1. パッケージ「jupyter」 を検索\n > conda search jupyter\n\n Using Anaconda Cloud api site https://api.anaconda.org\n Fetching package metadata: ....\n jupyter 1.0.0 py27_0 defaults\n 1.0.0 py34_0 defaults\n 1.0.0 py35_0 defaults\n 1.0.0 py27_1 defaults\n 1.0.0 py34_1 defaults\n 1.0.0 py35_1 defaults\n 1.0.0 py27_2 defaults\n 1.0.0 py34_2 defaults\n * 1.0.0 py35_2 defaults\n\n2. jupyter をインストール\n > conda install jupyter\n \n3. インストールされたか確認\n > jupyter --version\n \n 4.1.0\n \njupyter notebook コマンドが使えるか確認\n\n > jupyter notebook --version\n \n 4.1.0\n "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## jupyter notebookの起動"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### 起動"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "立ち上げてみよう。\n\n jupyter notebook\n \nブラウザが立ち上がる。"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### ノートの作成 "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "http://localhost:8888/tree の右上から「New」> 「Python3」 を選択するとノートを作成。 \n\n![ノートの作成](https://gist.githubusercontent.com/Cartman0/e935b27775f5b524737a/raw/adc9138036110aa3e415f550748ed9baaf848134/create_note.jpg)"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### ショートカットキー"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "メニューから、Help > Keyboard Shortcuts から見れる。"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Commandモード\n\n| 機能 | ショートカット |\n|:-:|:-:|\n| Editモードへ切り替え | <kbd>Enter</kbd> |\n|ファイルの保存|<kbd>s</kbd> or <kbd><kbd>Ctrl</kbd>+<kbd>s</kbd></kbd>|\n|ファイル内検索・置き換え|<kbd>f</kbd>|\n|Markdownセルへ切り替え|<kbd>m</kbd>|\n|Codeセルへ切り替え|<kbd>y</kbd>|\n|カーソル移動|down:<kbd>j</kbd> or <kbd>↓</kbd>, up:<kbd>k</kbd> or <kbd>↑</kbd>|\n| セルの削除 | <kbd>d</kbd>, <kbd>d</kbd> |\n|選択中のセルの実行|<kbd><kbd>Ctrl</kbd>+<kbd>Enter</kbd></kbd>|\n|セルの実行+下のセルへ|<kbd><kbd>Shift</kbd>+<kbd>Enter</kbd></kbd>|\n|セルの実行+下にセルを追加|<kbd><kbd>Alt</kbd>+<kbd>Enter</kbd></kbd>|\n|下にセルを追加|<kbd>b</kbd>|\n|上にセルを追加|<kbd>a</kbd>|\n|セルのコピー|<kbd>c</kbd>|\n|セルのペースト|<kbd>v</kbd>|"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Editモード\n\n| 機能 | ショートカット |\n|:-:|:-:|\n| Commandモードへ切り替え | <kbd>Esc</kbd> or <kbd><kbd>Ctrl</kbd>+<kbd>M</kbd></kbd> |\n| 補完 or インデント | <kbd>Tab</kbd> |\n| 1行削除 | <kbd><kbd>Ctrl</kbd>+<kbd>d</kbd></kbd> or <kbd><kbd>Shift</kbd>+<kbd>Delete</kbd></kbd> |"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## ノートの共有"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "ノートファイル(.ipynb)をGoogleDriveまたは、Dropboxに上げておくとほかの環境で実行・保存・バックアップもできる。"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### クラウドでの共有"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### ホームディレクトリの変更"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "http://localhost:8888/tree は、デフォだとディレクトリとして、C:/Users/[user]/ あたりが開かれる。\nこれをGoogleDriveかDropboxに、ノート用のワークスペースを作っておくとノートファイルを作りやすいし、開きやすい。\n\n1.設定ファイルの作成\n\n以下のコマンドで、~/.jupyter内にjupyter_application_config.py という設定ファイルが生成される。\n \n jupyter notebook --generate-config\n\n2.設定ファイルの190行目あたりを変更する。\n\n今回は、GoogleDrive上に、JupyterNoteというワークスペース(フォルダ)を作成。\n\n # The directory to use for notebooks and kernels.\n c.NotebookApp.notebook_dir = u'GoogleDrive\\\\JupyterNote'\n\nこれでホームディレクトリが変更される。\n\n参考:[Jupyter Notebookをインストール・設定して勉強ノート作成環境をつくる [Mac] Qiita](http://qiita.com/sasaki77/items/bfa53828c973ba46e34d)"
},
{
"metadata": {
"collapsed": true
},
"cell_type": "markdown",
"source": "### Gist・Githubで共有"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Gist・Githubに.ipynbファイルをupして共有できる。\n**コードの実行はできなく、閲覧のみ**。\n\nリポジトリページにアクセスすると、HTMLに変換される。\n\nまた、[nbviewer](http://nbviewer.jupyter.org/) から閲覧すると、\nHTMLに変換されたページが表示されるのでスマホのブラウザからも閲覧される。\n\n(※iPhone Safariでgistページにアクセスすると、.ipynbの実体であるjsonが開かれた。)\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### 注意"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "この際、gist secretも使えるが、\ngit secret はURLが特定されると誰でも見られてしまうので注意。\n\n見られたくないノートは\n- ローカル(+クラウド) or\n- Github private \n\nにすべき。"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### markdownで画像挿入したノートをgist にup する時の注意"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "markdownで挿入した画像ありノート(.ipynb)をGist にそのままupしても、画像自体はアップロードされない。\n\nその場合、画像ファイルを参照できるようにどこかに上げておく必要がある。\nわかりやすいのは、画像ファイルを.ipynbと同じGistリポジトリに上げておく。\n\n[Gistに画像をupload - はしくれエンジニアもどきのメモ](http://cartman0.hatenablog.com/embed/2016/03/26/160718)\n\n<iframe src=\"http://cartman0.hatenablog.com/embed/2016/03/26/160718\" title=\"Gistに画像をupload - はしくれエンジニアもどきのメモ\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## 参考リンク"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "- [Jupyter (iPython) Notebookを使って技術ノート環境を構築する方法](http://myenigma.hatenablog.com/entry/2016/02/20/183423)\n- [IPython Notebookのススメ Qiita](http://qiita.com/ssh0/items/caf3739b934c1d66974b)\n- [Jupyter Notebookをインストール・設定して勉強ノート作成環境をつくる [Mac] Qiita](http://qiita.com/sasaki77/items/bfa53828c973ba46e34d)"
}
],
"metadata": {
"toc": {
"toc_threshold": "6",
"toc_section_display": "none",
"toc_window_display": false,
"toc_number_sections": true,
"toc_cell": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"_draft": {
"nbviewer_url": "https://gist.github.com/e935b27775f5b524737a"
},
"gist": {
"id": "e935b27775f5b524737a",
"data": {
"description": "Jupyter notebookインストール手順",
"public": true
}
},
"language_info": {
"name": "python",
"file_extension": ".py",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"version": "3.5.1",
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment