jupypter-notebook的安装和使用
jupypter notebook的安装和使用
**一、
Jupyter
介绍**
Jupyter Notebook
是以
web
交互式的编程接口,是
IPython notebook
的升级版本。主要是针对
python
,另外支持运行
40
多种编程语言。
Jupyter
可以在个人机器开发,也可以连接到集群中使用分布式计算引擎
spark
等以及数据库(
mysql/hive/hdfs
)。
Jupyter
相对于其他
python
编程工具来说,除了通常的新建、删除、更改、下载编程文件外,还支持在线编程运算可帮助持续开发,特别在企业中有些项目需要持续很长时间的开发,每天下班后关闭
jupyter
,只要服务器的
kernel
不关闭,
jupyter
会保存好开发时的数据缓存和可视化结果,第二天继续开发,而不用又从头再运行,再配合支持
markdown
的功能,使得
jupyternotebook
方便记录开发过程和教学。下面对特征工程的教程就是利用了在
jupyternotebook
中使用
markdown
生成的,并且支持对文章的内容字体高亮。
**二、
jupyter
安装**
Jupyter
有多种方式进行安装,一种比较直接的方式是直接下载安装
anaconda
,里面有自带的
jupyter notebook
。
第二种是使用
pip
来安装,
pip install jupyter
。
执行两个命令:
$pip install ipython
$pip install jupyter notebook
如果网络不可达,可以多试几次
执行 $ jupyter notebook, jupyter notebook
的编辑器就启动了
另外如果是想在独立的
python
环境中使用
jupyter
的话,在
linux
系统中使用
virtualenv
构建虚拟环境,如果在
windows
下已经安装了
anaconda
,可以使用
conda
创建特制
python
环境,
conda create –name your_env_namepython=2.7
。
启动方式可以直接在
anaconda
找到
jupyter notebook
启动
或在终端直接输入
jupyter notebook
调用,不过需要注意的是
jupyter
会根据当前启动路径当做开发路径,如果你想在
D:\xxxx\
目录下进行开发,需要先进入到路径下,再调用
jupyter notebook
。
**三、
jupyter
使用**
**3.1
启动
jupyter notebook**
进入
jupyter
界面如下:
红色部分
Python2
就是新建一个
notebook
,另外
Terminals Unavailable
是启动终端,这里
linux
和
windows
系统略有不同,由于
windows
下不支持类似
linux
的
tty(
控制终端
)
,因此无法使用,
Linux
下启动效果如下:
Jupyter
能够下载文件,上传文件,但是无法在两个文件夹之间进行复制和移动,一种方式是把文件先下载下来,然后在另外文件夹中上传,比较麻烦,如果配合
jupyter
中的终端就很方便移动,复制和打包文件了。
**3.2jupyter
的使用功能**
jupyter
的基本单元是编程
cell
组成,也就是我们看到的
In[ ]:
Jupyter
有三种类型的
cells
:
code cells,markdown cells
,
raw cells
,常用的是
code cells
和
markdown cells
类型。
Cells
状态分为命令模式和编辑模式,
Enter
进入编辑模式,
ESC
进入命令模式,命令模式和编辑模式下支持很多操作快捷键,非常好用。
常用命令模式快捷键:
y:
单元进入代码状态
m:
转入
markdown
状态
r
:转入
raw
状态
a:
上方插入新单元
b
:下方插入新单元
x
:剪切选中单元
c:
复制选中单元
shift-v
:粘贴到上方单元
v
:粘贴到下方单元
d,d
(连续按两次
d
)
:
删除选中单元
z
:恢复最后删除单元
ctrl+Enter:
运行本单元,两种模式都适用
shift+Enter
:运行本单元,并跳到下个单元,两种模式都适用
alt+Enter
:运行本单元,并在下方插入新单元,两种模式都适用
常用编辑模式快捷键:
Tab
:代码补齐或缩进
Shift+Tab
:调用方法提示,非常有用,在调用包中函数时,对于函数中的使用说明和相关参数配置,按两次
shift+Tab
可获取详细的方法提示。
Ctrl+]
:缩进
Ctrl+[ :
解除缩进
Ctrl+A:
全选
Ctrl+Backspace
:删除光标前面本行所有的内容
Ctrl+Delete:
删除光标后本行所有的内容
Shift+Home
:往前选取本行所有内容
Shift+End
:往后选取本行所有内容;
3.2.1Markdown
Jupyter
提供的
markdown
是一个非常实用的功能,有了
markdown
可以将写代码和内容编辑非常好的结合,特别代码内容说明,
markdown
是一种纯文本标记语言,满足标题,公式,字体加粗,颜色甚至流程图和表格的内容编辑;例如,下图中是使用
markdown
编写的,能够生成我们想要的公式和字体颜色。
一些简单的用法如下,编辑好之后使用
ctrl+enter
运行结果:
更多内容可以了解
markdown
相关教程。(公众号回复
markdown
或者进
群:
319571120
即可免费下载)
3.2.2 CodeCells
Code
模式下,除了一般的
python
代码编辑外,
jupyter
还支持一些其他的编程语言,如
R
,
Julia
,
bash
等。不过需要使用
magic
单元。
Magic
单元分为两种,一种是
line magics
,另外一种
cell magics
。
Line magic
是通过在前面加
%
,表示
magic
只在本行有效。
Cell magics
:通过在前面加
%%
,表示在整个
cell
单元有效。比如下图中使用
%%bash
,产生了
linux
下的
shell
环境(
window
下不支持,不过可以使用
%%cmd
),这样就可以运行
pwd
和
ls
命令了。
其中一些比较常用的
magic
:
%matplotlineinline
在
jupyter
内打印图片;
%load
:将本地
py
文件代码导入进来,例如
%load test.py
%run:
运行本地代码,利用这个
magic
,我们可以把一些头文件,基本设置,共同函数写在不同的
notebook
内,用的时候运行一下就可以了。
例如下面,将公共的函数写在
common_import.ipynb
中,一些导入函数的配置文件存在
utils.ipynb
中,需要的时候使用
%run
直接运行一下,就可以把公共函数和环境配置好了。
这样可以将代码写成不同的模块,而不是全部写进一个
notebook
。
%time
:统计代码运行的时间,当然还有更多有趣的一些
magic
属性来方便我们的工作。
四、拓展功能
上面已经将
jupyter notebook
的基本功能和用法都涉及,但是直接工作的话感觉还是缺一点东西,类似下图这样能够生成
notebook
的内容目录和点击快速定位的功能。
当在
notebook
中编写了大量代码的时候,如果想要快速的定位到代码块或者给编辑内容的各级标题生成标题号,可以使用
jupyter
中的延伸功能模块,
Jupyter Notebook extensions
来完成这部分工作,
Jupyter Notebook extensions
可以通过
conda
安装,调用
conda install -c conda-forgejupyter_contrib_nbextensions
,如果
conda
安装不成功的话,可以尝试使用
pip
安装,不过需要两步工作:
pip installjupyter_contrib_nbextension
jupytercontrib nbextension install –user
安装完成后重新打开
jupyter
会发现多了
Nbextensions
项
通过勾选
Table of Contents(2)
,能够生成
notebook
的浏览目录,如果希望在顶部生成目录的话,还需要点击
Table ofContents
下勾选下图中的项。
至此
jupyter
的安装,常用用法和技巧就基本讲完了,当然
jupyter
的功能要不止这些,如果有兴趣可以继续拓展,当时对于日常工作使用的话,这些基本就够了。