- August 14, 2020
- Posted by: Data Science Training and Solution
- Category: Data Analysis and Virtualization, Data Science Free Training, Others, Softwares
Starting the Jupyter Notebook Server
Now that you have Jupyter installed, let’s learn how to use it. To get started, all you need to do is open up your terminal application and go to a folder of your choice. I recommend using something like your Documents folder to start out with and create a subfolder there called Notebooks or something else that is easy to remember.
Then just go to that location in your terminal and run the following command:
$ jupyter notebook
This will start up Jupyter and your default browser should start (or open a new tab) to the following URL: http://localhost:8888/tree
Your browser should now look something like this:
Note that right now you are not actually running a Notebook, but instead you are just running the Notebook server. Let’s actually create a Notebook now!
Creating a Notebook
Now that you know how to start a Notebook server, you should probably learn how to create an actual Notebook document.
All you need to do is click on the New button (upper right), and it will open up a list of choices. On my machine, I happen to have Python 2 and Python 3 installed, so I can create a Notebook that uses either of these. For simplicity’s sake, let’s choose Python 3.
Your web page should now look like this:
Naming
You will notice that at the top of the page is the word Untitled. This is the title for the page and the name of your Notebook. Since that isn’t a very descriptive name, let’s change it!
Just move your mouse over the word Untitled and click on the text. You should now see an in-browser dialog titled Rename Notebook. Let’s rename this one to Hello Jupyter:
Running Cells
A Notebook’s cell defaults to using code whenever you first create one, and that cell uses the kernel that you chose when you started your Notebook.
In this case, you started yours with Python 3 as your kernel, so that means you can write Python code in your code cells. Since your initial Notebook has only one empty cell in it, the Notebook can’t really do anything.
Thus, to verify that everything is working as it should, you can add some Python code to the cell and try running its contents.
Let’s try adding the following code to that cell:
print('Hello Jupyter!')
Running a cell means that you will execute the cell’s contents. To execute a cell, you can just select the cell and click the Run button that is in the row of buttons along the top. It’s towards the middle. If you prefer using your keyboard, you can just press Shift+Enter.
When I ran the code above, the output looked like this:
If you have multiple cells in your Notebook, and you run the cells in order, you can share your variables and imports across cells. This makes it easy to separate out your code into logical chunks without needing to reimport libraries or recreate variables or functions in every cell.
When you run a cell, you will notice that there are some square braces next to the word In to the left of the cell. The square braces will auto fill with a number that indicates the order that you ran the cells. For example, if you open a fresh Notebook and run the first cell at the top of the Notebook, the square braces will fill with the number 1.
Starting Terminals and Other Things
Jupyter Notebook also allows you to start more than just Notebooks. You can also create a text file, a folder, or a Terminal in your browser. Go back to the home page that opened when you first started the Jupyter server at http://localhost:8888/tree
. Go to the New button and choose one of the other options.
The Terminal is probably the most interesting of the bunch, as it is running your operating systems terminal in the browser. This allows you to run bash, Powershell, and so on in your browser and run any shell command that you might need to there.
Viewing What’s Running
Also on the home page of your Jupyter server (http://localhost:8888/tree
) are two other tabs: Running and Clusters.
The Running tab will tell you which Notebooks and Terminals you are currently running. This is useful for when you want to shut down your server but you need to make sure that you have saved all your data. Fortunately, Notebooks auto-save pretty frequently, so you rarely lose data. But it’s good to be able to see what’s running when you need to.
The other nice thing about this tab is that you can go through your running applications and shut them down there.
Adding Rich Content
Jupyter Notebook supports adding rich content to its cells. In this section, you will get an overview of just some of the things you can do with your cells using Markup and Code.
Cell Types
There are technically four cell types: Code, Markdown, Raw NBConvert, and Heading.
The Heading cell type is no longer supported and will display a dialog that says as much. Instead, you are supposed to use Markdown for your Headings.
The Raw NBConvert cell type is only intended for special use cases when using the nbconvert
command-line tool. Basically it allows you to control the formatting in a very specific way when converting from a Notebook to another format.
The primary cell types that you will use are the Code and Markdown cell types. You have already learned how code cells work, so let’s learn how to style your text with Markdown.
Styling Your Text
Jupyter Notebook supports Markdown, which is a markup language that is a superset of HTML. This tutorial will cover some of the basics of what you can do with Markdown.
Set a new cell to Markdown and then add the following text to the cell:
When you run the cell, the output should look like this:
If you would prefer to bold your text, use a double underscore or double asterisk.
Headers
Creating headers in Markdown is also quite simple. You just have to use the humble pound sign. The more pound signs you use, the smaller the header. Jupyter Notebook even kind of previews it for you:
Then when you run the cell, you will end up with a nicely formatted header:
Creating Lists
You can create a list (bullet points) by using dashes, plus signs, or asterisks. Here is an example:
Code and Syntax Highlighting
If you want to insert a code example that you don’t want your end user to actually run, you can use Markdown to insert it. For inline code highlighting, just surround the code with backticks. If you want to insert a block of code, you can use triple backticks and also specify the programming language:
Exporting Notebooks
When you are working with Jupyter Notebooks, you will find that you need to share your results with non-technical people. When that happens, you can use the nbconvert
tool which comes with Jupyter Notebook to convert or export your Notebook into one of the following formats:
- HTML
- LaTeX
- RevealJS
- Markdown
- ReStructured Text
- Executable script
Shortcuts
As a developer, I like to use shortcuts and snippets as much as I can. They just make writing code a lot easier and faster. I like to follow one rule:
If you start doing some action with the mouse, stop and think if there is a shortcut. If there is a one – use it.
When I started using Jupyter Notebook I didn’t know that there are shortcuts for this tool. Several times, I changed my cell type from code to markdown and I didn’t know how. As you can guess this caused me a lot of headache. One day I just saw that there is a Help > Keyboard Shortcuts
link in the menu bar. To my surprise, it turned out that Jupyter Notebook has a ton of shortcuts.
In this article, I’ll show you my favorite ones. Note that the shortcuts are for Windows
and Linux
users. Anyway, for the Mac
users, they’re different buttons for Ctrl
, Shift
, and Alt
:
Ctrl
: command key⌘
Shift
: Shift⇧
Alt
: option⌥
First, we need to know that they are 2 modes in the Jupyter Notebook App: command mode and edit mode. I’ll start with the shortcuts shared between the two modes.
Shortcuts in both modes:
Shift + Enter
run the current cell, select belowCtrl + Enter
run selected cellsAlt + Enter
run the current cell, insert belowCtrl + S
save and checkpoint
While in command mode (press Esc
to activate):
Enter
take you into edit modeH
show all shortcutsUp
select cell aboveDown
select cell belowShift + Up
extend selected cells aboveShift + Down
extend selected cells belowA
insert cell aboveB
insert cell belowX
cut selected cellsC
copy selected cellsV
paste cells belowShift + V
paste cells aboveD, D (press the key twice)
delete selected cellsZ
undo cell deletionS
Save and CheckpointY
change the cell type to CodeM
change the cell type to MarkdownP
open the command palette.
This dialog helps you run any command by name. It’s really useful if you don’t know some shortcut or when you don’t have a shortcut for the wanted command.
Shift + Space
scroll notebook upSpace
scroll notebook down
While in edit mode (pressEnter
to activate)
Esc
take you into command modeTab
code completion or indentShift + Tab
tooltipCtrl + ]
indentCtrl + [
dedentCtrl + A
select allCtrl + Z
undoCtrl + Shift + Z
orCtrl + Y
redoCtrl + Home
go to cell startCtrl + End
go to cell endCtrl + Left
go one word leftCtrl + Right
go one word rightCtrl + Shift + P
open the command paletteDown
move cursor downUp
move cursor up
These are the shortcuts I use in my daily work. If you still need something that is not mentioned here you can find it in the keyboard shortcuts dialog (H
). You can also edit existing or add more shortcuts from the Help > Edit Keyboard Shortcuts
link in the menu bar. Clicking the link will open a dialog. At the bottom of it there are rules for adding or editing shortcuts. You need to use hyphens -
to represent keys that should be pressed at the same time.