Jupyter Notebookの使い方を解説!そもそもJupyter Notebookとは?
- システム
エンジニア - Jupyter Notebookとはそもそもなんですか。
- プロジェクト
マネージャー - Jupyter Notebookとはオープンソースで開発され主にPythonで使われている総合開発環境のことです。
Jupyter Notebookとは?
Jupyter Notebookとは、Web上で主にPythonなどのプログラミング言語が扱える総合開発環境のことです。「ジュピターノートブック」とか「ジュパイターノートブック」と読みます。
かつてはiPython NotebookとしてPython専用でしたが、現在ではGo言語やRubyなど40以上の言語をサポートしています。
Jupyter Notebookのインストール方法
早速、Jupyter Notebookをインストールしましょう。環境はWindows10です。Python3がインストールされていて、パスが通っているものと仮定します。
コマンドプロンプトかPowerShellを立ち上げて、次のコマンドを打ち込むとインストールが始まります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
PS C:\> py -m pip install notebook Collecting notebook
Downloading notebook-6.2.0-py3-none-any.whl (9.5 MB)
|████████████████████████████████| 9.5 MB 1.1 MB/s
Collecting jupyter-client>=5.3.4
Downloading jupyter_client-6.1.11-py3-none-any.whl (108 kB)
|████████████████████████████████| 108 kB 1.1 MB/s
Collecting ipykernel
Downloading ipykernel-5.4.3-py3-none-any.whl (120 kB)
|████████████████████████████████| 120 kB 1.1 MB/s
Collecting nbconvert
Downloading nbconvert-6.0.7-py3-none-any.whl (552 kB)
|████████████████████████████████| 552 kB 726 kB/s
Collecting traitlets>=4.2.1
Downloading traitlets-5.0.5-py3-none-any.whl (100 kB)
|████████████████████████████████| 100 kB 866 kB/s
Collecting tornado>=6.1
Downloading tornado-6.1-cp39-cp39-win_amd64.whl (422 kB)
|████████████████████████████████| 422 kB 1.1 MB/s
Collecting Send2Trash>=1.5.0
Downloading Send2Trash-1.5.0-py3-none-any.whl (12 kB)
Collecting prometheus-client
Downloading prometheus_client-0.9.0-py2.py3-none-any.whl (53 kB)
|████████████████████████████████| 53 kB 658 kB/s
Collecting pyzmq>=17
Downloading pyzmq-22.0.1-cp39-cp39-win_amd64.whl (1.2 MB)
|████████████████████████████████| 1.2 MB 939 kB/s
Collecting jinja2
Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
|████████████████████████████████| 125 kB 2.2 MB/s
Collecting terminado>=0.8.3
Downloading terminado-0.9.2-py3-none-any.whl (14 kB)
Collecting ipython-genutils
Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting jupyter-core>=4.6.1
Downloading jupyter_core-4.7.0-py3-none-any.whl (82 kB)
|████████████████████████████████| 82 kB 410 kB/s
Collecting argon2-cffi
Downloading argon2_cffi-20.1.0-cp39-cp39-win_amd64.whl (42 kB)
|████████████████████████████████| 42 kB 322 kB/s
Collecting nbformat
Downloading nbformat-5.1.2-py3-none-any.whl (113 kB)
|████████████████████████████████| 113 kB 2.2 MB/s
Collecting python-dateutil>=2.1
Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
|████████████████████████████████| 227 kB 2.2 MB/s
Collecting pywin32>=1.0
Downloading pywin32-300-cp39-cp39-win_amd64.whl (9.2 MB)
|████████████████████████████████| 9.2 MB 2.2 MB/s
Collecting six>=1.5
Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting pywinpty>=0.5
Downloading pywinpty-0.5.7.tar.gz (49 kB)
|████████████████████████████████| 49 kB 1.5 MB/s
Collecting cffi>=1.0.0
Downloading cffi-1.14.4-cp39-cp39-win_amd64.whl (179 kB)
|████████████████████████████████| 179 kB 2.2 MB/s
Collecting pycparser
Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB)
|████████████████████████████████| 112 kB 2.2 MB/s
Collecting ipython>=5.0.0
Downloading ipython-7.19.0-py3-none-any.whl (784 kB)
|████████████████████████████████| 784 kB 2.2 MB/s
Collecting pickleshare
Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Requirement already satisfied: setuptools>=18.5 in e:\programs\python\python39\lib\site-packages (from ipython>=5.0.0->ipykernel->notebook) (49.2.1)
Collecting pygments
Downloading Pygments-2.7.4-py3-none-any.whl (950 kB)
|████████████████████████████████| 950 kB 595 kB/s
Collecting decorator
Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting jedi>=0.10
Downloading jedi-0.18.0-py2.py3-none-any.whl (1.4 MB)
|████████████████████████████████| 1.4 MB 409 kB/s
Collecting backcall
Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0
Downloading prompt_toolkit-3.0.14-py3-none-any.whl (359 kB)
|████████████████████████████████| 359 kB 2.2 MB/s
Collecting colorama
Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting parso<0.9.0,>=0.8.0
Downloading parso-0.8.1-py2.py3-none-any.whl (93 kB)
|████████████████████████████████| 93 kB 724 kB/s
Collecting wcwidth
Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting MarkupSafe>=0.23
Downloading MarkupSafe-1.1.1.tar.gz (19 kB)
Collecting pandocfilters>=1.4.1
Downloading pandocfilters-1.4.3.tar.gz (16 kB)
Collecting mistune<2,>=0.8.1
Downloading mistune-0.8.4-py2.py3-none-any.whl (16 kB)
Collecting defusedxml
Downloading defusedxml-0.6.0-py2.py3-none-any.whl (23 kB)
Collecting jupyterlab-pygments
Downloading jupyterlab_pygments-0.1.2-py2.py3-none-any.whl (4.6 kB)
Collecting testpath
Downloading testpath-0.4.4-py2.py3-none-any.whl (163 kB)
|████████████████████████████████| 163 kB 1.1 MB/s
Collecting bleach
Downloading bleach-3.2.3-py2.py3-none-any.whl (146 kB)
|████████████████████████████████| 146 kB 731 kB/s
Collecting nbclient<0.6.0,>=0.5.0
Downloading nbclient-0.5.1-py3-none-any.whl (65 kB)
|████████████████████████████████| 65 kB 357 kB/s
Collecting entrypoints>=0.2.2
Downloading entrypoints-0.3-py2.py3-none-any.whl (11 kB)
Collecting nest-asyncio
Downloading nest_asyncio-1.5.1-py3-none-any.whl (5.0 kB)
Collecting async-generator
Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting jsonschema!=2.5.0,>=2.4
Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
|████████████████████████████████| 56 kB 1.3 MB/s
Collecting pyrsistent>=0.14.0
Downloading pyrsistent-0.17.3.tar.gz (106 kB)
|████████████████████████████████| 106 kB 3.2 MB/s
Collecting attrs>=17.4.0
Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
|████████████████████████████████| 49 kB 578 kB/s
Collecting webencodings
Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting packaging
Downloading packaging-20.8-py2.py3-none-any.whl (39 kB)
Collecting pyparsing>=2.0.2
Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
|████████████████████████████████| 67 kB 889 kB/s
Using legacy 'setup.py install' for pywinpty, since package 'wheel' is not installed.
Using legacy 'setup.py install' for MarkupSafe, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pandocfilters, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pyrsistent, since package 'wheel' is not installed.
Installing collected packages: ipython-genutils, traitlets, six, pywin32, pyrsistent, attrs, wcwidth, tornado, pyzmq, python-dateutil, pyparsing, parso, jupyter-core, jsonschema, webencodings, pygments, pycparser, prompt-toolkit, pickleshare, packaging, nest-asyncio, nbformat, MarkupSafe, jupyter-client, jedi, decorator, colorama, backcall, async-generator, testpath, pywinpty, pandocfilters, nbclient, mistune, jupyterlab-pygments, jinja2, ipython, entrypoints, defusedxml, cffi, bleach, terminado, Send2Trash, prometheus-client, nbconvert, ipykernel, argon2-cffi, notebook
Running setup.py install for pyrsistent ... done
Running setup.py install for MarkupSafe ... done
Running setup.py install for pywinpty ... done
Running setup.py install for pandocfilters ... done
Successfully installed MarkupSafe-1.1.1 Send2Trash-1.5.0 argon2-cffi-20.1.0 async-generator-1.10 attrs-20.3.0 backcall-0.2.0 bleach-3.2.3 cffi-1.14.4 colorama-0.4.4 decorator-4.4.2 defusedxml-0.6.0 entrypoints-0.3 ipykernel-5.4.3 ipython-7.19.0 ipython-genutils-0.2.0 jedi-0.18.0 jinja2-2.11.2 jsonschema-3.2.0 jupyter-client-6.1.11 jupyter-core-4.7.0 jupyterlab-pygments-0.1.2 mistune-0.8.4 nbclient-0.5.1 nbconvert-6.0.7 nbformat-5.1.2 nest-asyncio-1.5.1 notebook-6.2.0 packaging-20.8 pandocfilters-1.4.3 parso-0.8.1 pickleshare-0.7.5 prometheus-client-0.9.0 prompt-toolkit-3.0.14 pycparser-2.20 pygments-2.7.4 pyparsing-2.4.7 pyrsistent-0.17.3 python-dateutil-2.8.1 pywin32-300 pywinpty-0.5.7 pyzmq-22.0.1 six-1.15.0 terminado-0.9.2 testpath-0.4.4 tornado-6.1 traitlets-5.0.5 wcwidth-0.2.5 webencodings-0.5.1
|
もう一つはAnacondaのインストール
Pythonのライブラリがたくさん含まれているPython Anacondaをインストールすれば、Jupyter Notebookも同時にインストールされています。
Python Anacondaは、数値計算やデータ解析、機械学習やAIの開発にすぐに取りかかれるPythonのディストリビューションです。
Jupyter Notebookを立ち上げる
インストールができたら、Jupyter Notebookを立ち上げてみましょう。次のコマンドをコマンドプロンプトかPowerShellに打ち込むと、Webブラウザが立ち上がります。
1
|
PS C:\> jupyter notebook
|
URLがhttp://localhost:8888(または8889)/treeでJupyter Notebookが立ち上がります。
Jupyter Notebookの使い方
それでは、Jupyter Notebookの使い方の説明に移ります。まず、立ち上がったJupyter NotebookのWebページを見ますと、いろいろなフォルダとUntitled.ipynbが並んでいるのが分かります。
ソースコードの正誤を確かめるだけなら、Untitled.ipynbをクリックすれば新たなWebページが立ち上がり、そこでPythonのコードを走らせることができます。
作業フォルダを作る
Jupyter Notebookの使い方の第一歩として、作業フォルダを作ることから始めます。画面上部の右側に「new」ボタンがありますので、それをクリックするとプルダウンで「Folder」の項目があります。
「Folder」の項目をクリックすると、フォルダの並びの下に「Untitled folder」が作られます。それにチェックを入れ画面上部の「Rename」をクリックしてリネイムし、例えば「work」とします。
新規ノートブックの作成
その後、workフォルダをクリックして画面上部の「New」から「Python3」の項目を選択し、新規ノートブックを作成します。新規作成された「Untitled.ipynd」をクリックすると、新たなWebページが立ち上がります。
そこの四角の枠の「Cell」の中にソースコードを書けば、プログラムを走らせることが可能になります。
マークダウン
「Cell」の使い方にマークダウンというものがあります。マークダウンとは文章を記述するときの記法のことで、普通の日本語の文章の記述ができます。
マークダウンで記法することで、文章はもちろんのこと、箇条書きや表など綺麗に書くことが可能です。画面上部の「Cell」ボタンをクリックし、「CellType」の項目から「MarkDown」を選ぶと、Cellに文章などが書けるようになります。
Jupyter Notebookを終了するには
Jupyter Notebookの使い方で、終了の仕方を知っていなければなりません。Jupyter Notebookを終了するには、画面上部の左にある「File」をクリックします。
すると一番下の項目に「Close and Halt」という項目があります。それをクリックすれば終了です。
コードの実行
それでは、Jupyter Notebookの使い方の一例として、簡単なプログラムを走らせてみましょう。Cellに以下の簡単なプログラムを書き込んでください。
1
2
3
|
print("Hello World!")
|
そして画面上部の「Run」ボタンをクリックすると、下部にプログラムの実行結果、
1
|
Hello World!
|
と出力されます。
ショートカットキー
Jupyter Notebookの便利な使い方として、ショートカットキーをいくつか紹介します。ショートカットキーをいくつか覚えておくとJupyter Notebookの使い方が便利になり、作業時間も短縮できます。
「Shift」+「Enter」または「Ctrl」+「Enter」
便利な使い方としてCelll内のプログラムを実行するには、「Shift」+「Enter」または「Ctrl」+「Enter」でプログラムが実行されます。
わざわざマウスを使わずにプログラムを実行できますので、とても便利なショートカットキーです。
「Esc」→「d」→「d」
次の便利な使い方として、Cellの削除のショートカットキーがあります。Cellを削除したいときは、「Esc」を押下した後に「d」のキーを2回押下するとCellが削除できます。
これも覚えていくと作業能率が上がります。
「Esc」→「m」/「y」
最後に便利な使い方として、Cell内のモード変換のショートカットキーを紹介します。Jupyter Notebookではモード変換を行う場合、「Esc」を押下します。
マークダウンモードにする場合は、「Esc」を押下後に「m」を押下すればマークダウンモードに切り替わり、「Esc」を押下後に「y」を押下すればコードモードに切り替わります。
- システム
エンジニア - ショートカットキーは覚えておくと便利ですね。
- プロジェクト
マネージャー - Jupyter Notebookを利用するにはショートカットキーは便利です。Pythonを学ぶ人もすでに熟達している人もJupyter Notebookはとても便利です。
Jupyter Notebookを活用しよう
Jupyter Notebookを利用すれば、細々としたライブラリのインストールをせずにすぐにソースコードを走らせることができ、とても便利です。
これからPythonを学ぶ人はもちろんのこと、すでにPythonに熟達している人もJupyter Notebookを積極的に使って、更に理解を深めてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
Python新着案件New Job
-
マルチロガーソフト開発/東京都豊島区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都豊島区(池袋駅) -
マルチロガーソフト開発/東京都豊島区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都豊島区(池袋駅) -
商品化予定の振動センサーの運用保守/Python/東京都都内/【WEB面談可】
月給50万~60万円東京都都内(-駅) -
商品化予定の振動センサーの可視化UI開発のテスター/Python/東京都都内/【WEB面談可】
月給25万~35万円東京都都内(-駅) -
商品化予定の振動センサーの運用保守/Python/東京都都内/【WEB面談可】
月給50万~60万円東京都都内(-駅) -
商品化予定の振動センサーの可視化UI開発のテスター/Python/東京都都内/【WEB面談可】
月給25万~35万円東京都都内(-駅)