红联Linux门户
Linux帮助

Ubuntu部署Jupyter

发布时间:2017-04-10 15:05:58来源:linux网站作者:黑夜浮屠
前言
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。在本文中,我们将介绍 Jupyter notebook 的主要特性,以及为什么对于希望编写漂亮的交互式文档的人来说是一个强大工具。我们将使用它搭建python2和python3共存的环境!
 
安装python和python-pip
# apt-get install python python3 python-pip python3-pip   //python2自带了
# pip install --upgrade pip  //更新pip
# pip3 install --upgrade pip
 
安装jupyter-notebook
# pip install jupyter
# pip3 install jupyter
 
配置可以同时使用python2和python3内核
# ipython kernel install --user
# python3 -m ipykernel install --user
# pip2 install -U ipykernel
# python2 -m ipykernel install --user
# jupyter-notebook  //运行,会自动web界面,可以同时运行python2,python3,ctrl+c结束
Ubuntu部署Jupyter
 
配置jupyter-notebook
生成配置文件
# cd 
# jupyter notebook --generate-config
Writing default config to: /root/.jupyter/jupyter_notebook_config.py
 
生成密码
运行jupyter
In [1]: from notebook.auth import passwd
passwd()
Enter password: ········
Verify password: ········       
Out[1]: 'sha1:c3a52264ad87:f6a2c3503ee3370c67da1f723ae1e8e79477f5f7'
Ubuntu部署Jupyter
 
设置密码
将前面生成的一串密码替换到配置文件中
# vim /root/.jupyter/jupyter_notebook_config.py 
c.NotebookApp.password=u'sha1:c3a52264ad87:f6a2c3503ee3370c67da1f723ae1e8e79477f5f7'   //前面u表示转换成unicode字符,python2的时候需要带
 
其它设置
c.NotebookApp.ip = '*'  //访问ip限制
c.NotebookApp.notebook_dir = '/home/knmax/Desktop/Python/jupyter-project'  //工作目录,路径不能出现中文
c.NotebookApp.open_browser = False //不自动打开浏览器
c.NotebookApp.port = 88 //运行监听的端口
 
以服务方式运行
每次运行打开都是终端交互的界面,关闭会话终端也结束了jupyter,很不方便,这里做成以systemctl方式启动,适用于Debain、CentOS 7、Ubuntu
# vim /lib/systemd/system/jupyter.service  //这个目录不同发行版可能也不同
[Unit]
Description=jupyter 
After=network.target
[Service]
Tpye=forking
EnvironmentFile=/usr/local/bin/jupyter-notebook
ExecStart=/usr/local/bin/jupyter-notebook
ExecStop=/usr/bin/pkill jupyter-notebook
KillMode=process
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target
创建好之后再操作下就行了
# systemctl daemon-reload
# systemctl start jupyter
# systemctl enable jupyter
 
安装额外插件或kernel
显示稿插件
# pip install RISE 
# pip3 install RISE 
# jupyter-nbextension install rise --py --sys-prefix 
# jupyter nbextension enable rise --py --sys-prefix 
 
Jupyter拓展插件
# pip install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master 
# pip3 install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master 
# pip install jupyter_nbextensions_configurator
# pip3 install jupyter_nbextensions_configurator
# jupyter contrib nbextension install --user 
# jupyter nbextensions_configurator enable --user 
# systemctl restart jupyter
 
安装主题、字体
参考地址:https://github.com/dunovank/jupyter-themes
# pip install --upgrade jupyterthemes
# pip3 install --upgrade jupyterthemes
# jt -l  查看可用主题
# jt -t grade3 -f ptmono -fs 115 
 
jupyter支持的内核
参考地址:https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
 
Jupyter-Notebook 的快捷键
Jupyter Notebook 有两种键盘输入模式。编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。命令模式,键盘输入运行程序命令;这时的单元框线是灰色。
命令模式 (按键 Esc 开启)
Enter : 转入编辑模式
Shift-Enter : 运行本单元,选中下个单元
Ctrl-Enter : 运行本单元
Alt-Enter : 运行本单元,在其下插入新单元
Y : 单元转入代码状态
M :单元转入markdown状态
R : 单元转入raw状态
1 : 设定 1 级标题
2 : 设定 2 级标题
3 : 设定 3 级标题
4 : 设定 4 级标题
5 : 设定 5 级标题
6 : 设定 6 级标题
Up : 选中上方单元
K : 选中上方单元
Down : 选中下方单元
J : 选中下方单元
Shift-K : 扩大选中上方单元
Shift-J : 扩大选中下方单元
A : 在上方插入新单元
B : 在下方插入新单元
X : 剪切选中的单元
C : 复制选中的单元
Shift-V : 粘贴到上方单元
V : 粘贴到下方单元
Z : 恢复删除的最后一个单元
D,D : 删除选中的单元
Shift-M : 合并选中的单元
Ctrl-S : 文件存盘
S : 文件存盘
L : 转换行号
O : 转换输出
Shift-O : 转换输出滚动
Esc : 关闭页面
Q : 关闭页面
H : 显示快捷键帮助
I,I : 中断Notebook内核
0,0 : 重启Notebook内核
Shift : 忽略
Shift-Space : 向上滚动
Space : 向下滚动
 
编辑模式 ( Enter 键启动)
Tab : 代码补全或缩进
Shift-Tab : 提示
Ctrl-] : 缩进
Ctrl-[ : 解除缩进
Ctrl-A : 全选
Ctrl-Z : 复原
Ctrl-Shift-Z : 再做
Ctrl-Y : 再做
Ctrl-Home : 跳到单元开头
Ctrl-Up : 跳到单元开头
Ctrl-End : 跳到单元末尾
Ctrl-Down : 跳到单元末尾
Ctrl-Left : 跳到左边一个字首
Ctrl-Right : 跳到右边一个字首
Ctrl-Backspace : 删除前面一个字
Ctrl-Delete : 删除后面一个字
Esc : 进入命令模式
Ctrl-M : 进入命令模式
Shift-Enter : 运行本单元,选中下一单元
Ctrl-Enter : 运行本单元
Alt-Enter : 运行本单元,在下面插入一单元
Ctrl-Shift-- : 分割单元
Ctrl-Shift-Subtract : 分割单元
Ctrl-S : 文件存盘
Shift : 忽略
Up : 光标上移或转入上一单元
Down :光标下移或转入下一单元
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29888.html