Python神器 Jupyter Notebook
什么是Jupyter Notebook?
简介
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
组成部分
1,网页应用
网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。
2,文档
即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。
Jupyter Notebook的主要特点
编程时具有语法高亮、缩进、tab补全的功能。
可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
对代码编写说明文档或语句时,支持Markdown语法。
如何安装Jupyter Notebook?
Jupyter Notebook原来也叫iPython Notebook,顾名思义,它和Python关系紧密。如果要在PC上安装笔记本,首先你要确保自己已经安装了Python(2.7/3.3或更高),这是必备条件。
1,Anaconda
官方在文档中强烈建议新用户用Anaconda打包安装Python和Anaconda——所谓懒人方法,小白必备。其实除了提到的两个工具,Anaconda还包含数据科学和机器学习中经常需要用到的各种软件包,只需下载、解压、安装,所有工具就都一步到位了。
下载地址:https://jupyter.readthedocs.io/en/latest/install.html
安装好后检查有没有加下面的环境变量:

2,pip
如果你很欣赏自己,或者因为某些因素就是不想用Anaconda,你也可以用pip。当然首先,你得确保自己的机器上有pip的最新版本。
# Linux和OSX pip install -U pip setuptools # Windows python -m pip install -U pip setuptools 然后,安装Jupyter Notebook:
#Python2用户看这里 pip install jupyter #Python3用户不要跑 pip3 install jupyter
运行Jupyter Notebook
帮助
如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:
jupyter notebook --help
# 或
jupyter notebook -h
启动
默认端口启动
在终端中输入以下命令:
jupyter notebook
执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。
启动过程中终端显示内容如下:
$ jupyter notebook
[I 21:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine
[I 21:58:24.417 NotebookApp] 0 active kernels
[I 21:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 21:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。
浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。
如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……
指定端口启动
如果你想自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:
jupyter notebook --port <port_number>
其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999,即在端口号为“9999”的服务器启动Jupyter Notebook。
启动服务器但不打开浏览器
如果你只是想启动Jupyter Notebook的服务器但不打算立刻进入到主页面,那么就无需立刻启动浏览器。在终端中输入:
jupyter notebook --no-browser
此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示出打开浏览器页面的链接。当你需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,轻按回车变转到了你的Jupyter Notebook页面。
例图中由于在完成上面内容时我同时启动了多个Jupyter Notebook,因此显示我的“8888”端口号被占用,最终分配给我的是“8889”。
用法
如果你想新建一个笔记本,单击面板右侧的“New”,它会跳出4个选项:
Python 3
Text File
Folder
Terminal
选择Text File后,你会得到一个空白的页面。它相当于一个文本编辑器(类似于Ubuntu上的应用程序),你可以在上面输入任何字母、单词和数字,所以选择好编程语言后,你是可以在上面写脚本的。此外,它还提供查找和替换文件中的单词的功能。
选择Folder后,你其实是在编辑文件夹列表。你可以创建一个新文件夹,把所需文档放进里面,或者修改它的名称、直接把它删除。
而Terminal的工作方式和Mac、Linux计算机上的Terminal一样,都是在Web浏览器中创建终端支持。只需在终端输入Python,一个Python脚本就写好了。

导入最常见的Python库来启动笔记本,如pandas和numpy。在代码上方的菜单中,那些图标依次表示添加、编辑、剪切、向上移动cell、向下移动cell、运行代码、停止运行和撤销。

这个下拉的列表提供了四个选项:
Code:这个不言自明,就是你写代码的地方;
Markdown:非常常见的轻量级标记语言,用来为代码添加注释和结论;
Raw NBConvert:一个命令行工具,可以把你的笔记本转换成另一种格式,如HTML;
Heading:添加标题,使你的文档看起来更干净整洁,它现在已经变成Markdown里的一个语法,用两个#表示。
快捷键
- 向上插入一个cell:a
- 向下插入一个cell:b
- 删除cell:x
- 将code切换成markdown:m
- 将markdown切换成code:y
- 运行cell:shift+enter
- 查看帮助文档:shift+tab
- 自动提示:tab
魔法指令
作为iPython的继承者,开发人员已经在Jupyter Notebook中加入预定义的魔术命令(magic function)。这是一种增加便捷性和互动性的工具,如果要查看命令列表,你可以输入(注:通常不需要“%”):
%lsmagic
当看到那一串函数列表时,也许你能从中认出几张老面孔,如%clear、%autosave、%debug和%mkdir。只要你以前写过代码,这些函数就几乎是不可避免的。
在Jupyter Notebook中,魔术命令有两种运行方式,一是Line-wise,而是Cell-wise。顾名思义,Line-wise就是当你想执行一个命令行的时候需要用到的,而Cell-wise面向的就不单单是一行了,它作用的是整个cell的代码块。
为了区分两种运行方式,如果是Line-wise,所有命令必须以%字符打头;如果是Cell-wise,则用%%。
Line-wise:
%time a = range(10)
Cell-wise:
%%timeit a = range (10)
min(a)
运行外部python源文件:%run xxx.py
计算statement的运行时间:%time statement
计算statement的平均运行时间:%timeit statement
测试多行代码的平均运行时间:
%%timeit
statement1
statement2
statement3
Python神器 Jupyter Notebook的更多相关文章
- python神器 Jupyter Notbook
python神器 Jupyter Notbook 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果. Jupyter ...
- 基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境
基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境 前言一.环境准备环境介绍软件下载VMware下安装UbuntuUbuntu下Anaconda的安 ...
- 简说Python之Jupyter Notebook
目录 简说Python之Jupyter Notebook 1.Jupyter Notebook 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Py ...
- 可视化运行Python的神器Jupyter Notebook
目录 简介 Jupyter Notebook 启动notebook server notebook document 的结构 code cells markdown cells raw cells 以 ...
- Python - 搭建Jupyter notebook环境
1- Jupyter简介 HomePage:https://jupyter.org/ 安装指南:https://jupyter.org/install.html 官方文档:https://jupyte ...
- 安装python的jupyter notebook工具
jupyter notebook是一个通过网页运行python的工具 支持分段的python运行,并能直观的查看结果 支持多python环境运行,需要加装(conda) 安装步骤 1.安装python ...
- python之jupyter notebook
jupyter是一种交互式计算和开发环境的笔记,ipython命令行比原生的python命令行更加友好和高效,还可以运行web版的界面,支持多语言,输出图形.音频.视频等功能. 安装 pip inst ...
- python+pandas+jupyter notebook 的 hello word
- anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow
naconda修改国内镜像源 国外网络有时太慢,可以通过配置把下载源改为国内的通过 conda config 命令生成配置文件,这里使用清华的镜像: https://mirrors.tuna.tsin ...
随机推荐
- c#上位机与三菱PLC(FX3U)串口通讯
项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码 与三菱FX3U进行通讯 1. 第一种方法是自己写代码实现,主要代码如下: //对PLC的Y7进行置1 byte[] Y ...
- MySQL 笔记整理(14) --count(*)这么慢,我该怎么办?
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 14) --count(*)这么慢,我该怎么办? 有时你会发现,随着系统 ...
- PHPCMS V9 添加二级导航
今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同. 开始的思路: <ul class ...
- openlayers 3方法继承
之前Web GIS开发使用的ArcGIS API用起来很系统,但是使用开源Web GIS API已经成主流趋势(你懂的~),最近项目想要从ArcGIS API 转到openlayers API,用起来 ...
- 自定义修改Anaconda Jupyterlab Home目录
自定义修改Anaconda Jupyterlab Home目录 最近在使用Anaconda学习数据分析和机器学习,会使用到Jupyter,但是他默认目录是用户的目录,我并没有习惯将项目和资料放在C盘, ...
- 如何去掉(隐藏)系统的StatusBar(状态栏)
在定制TV版本中,经常需要去掉StatusBar的需求,那么如何更好更方便的去掉StatusBar呢? StatusBar是Android系统中重要的组成部分,可以看到一些提 ...
- 通过maven profile 打包指定环境配置
背景 最近换了个新公司接手了一个老项目,然后比较坑的是这个公司的项目都没有没有做多环境打包配置,每次发布一个环境都要手动的去修改配置文件.今天正好有空就来配置下. 解决这个问题的方式有很多,我这里挑选 ...
- 问题解决--无法解析的外部符号 _imp_XXXXXXXXX
错误示例: 出现字符_imp,说明不是真正的静态库,而是某个动态库的导入库,导入函数和自己不同名,所以加了字符_imp.比如说_imp_GetUserNameA就是GetUserNameA函数. 会报 ...
- SQL Server服务没有自动启动原因案例分析
这个案例是前两天出现的,一直没有时间总结,25号凌晨4点去处理数据库的故障问题.远程连上公司的局域网,psping检查发现服务器的1433端口不通,数据库连接不上,但是主机又能ping通,登录服务器检 ...
- 最好用的jQuery-Ajax缓存插件
AJAX-Cache 最好用的jQuery-Ajax缓存插件 介绍 AJAX-Cache是一款jQuery插件,基于localStorage/sessionStorage实现异步请求缓存功能,并 ...