PEP8 python规范神器和jupyter notebook主题更改--Jupyter Notebook 快速入门
一、Jupyter notebook 篇
Jupyter notebook的代码要想写得规范,推荐用Code prettify插件。
1、安装插件Nbextensions
1 pip install jupyter_contrib_nbextensions
2、无报错再执行:
1 jupyter contrib nbextension install --user
3、安装模块
1 pip install yapf
4、 选取Code prettify模块
5、使用:点击工具栏最右侧的按钮使用如下
一、问题
Jupyter notebook安装完扩展包后,工具栏不见了?如下图:
二、解决办法安装主题包: >>> pip install --upgrade jupyterthemes
查看主题: >>> jt -l
设定主题: >>> jt -t chesterish -T
Available Themes:
1 chesterish 黑色
2 grade3 白灰相间
3 gruvboxd 深焦黄色,还行
4 gruvboxl 护眼浅黄色
5 monokai 黑色,还行
6 oceans16 深灰色
7 onedork 少浅暗灰色
8 solarizedd 墨蓝色
9 solarizedl 正常护眼色
三、工具栏界面出现
完美!!!
安装Jupyter主题:pip install jupyterthemes
pip install jupyterthemes
然后,更新Jupyter主题:pip install --upgrade jupyterthemes
pip install --upgrade jupyterthemes
安装和更新成功以后,可以查看可用主题:jt -l
jt -l
文档这里介绍了详细的可用参数:
后面还有很多主题,这里只截取了部分作为演示。当然,现在我们可以开始修改掉看着难受的白色主题了,我个人喜欢暗一点的背景主题,于是选择了monokai,它还支持语法高亮。下面是我的背景主题设置:
jt -t monokai -f fira -fs 13 -cellw 90% -ofs 11 -dfs 11 -T -N
-f(字体) -fs(字体大小) -cellw(占屏比或宽度) -ofs(输出段的字号) -T(显示工具栏) -N(显示自己主机名)
解决方法:
在C:\Users\XXX\.jupyter\custom 路径下,打开custom.css文件,然后找到div.output_area语句块,将
替换语块为:
div.output_area {
display: -webkit-box;
padding: 13px;
}
然后重新运行Jupyter Notebook,就正常显示了。完美!!!
Jupyter Notebook 快速入门
一、 Jupyter NoteBook的安装
新版本Anaconda自带Jupyter
二、 更改Jupyter notebook的工作空间
桌面新建快捷方式,修改目标,红色部分是添加的新工作目录
C:\Anaconda2\python.exe C:\Anaconda2\cwp.py C:\Anaconda2 "C:/Anaconda2/python.exe" "C:/Anaconda2/Scripts/jupyter-notebook-script.py" %USERPROFILE%
三、Jupyter的各种快捷键
按下H
Jupyter笔记本有两种不同的键盘输入模式. 编辑模式允许您将代码或文本输入到一个单元格中,并通过一个绿色的单元格来表示 命令模式将键盘与笔记本级命令绑定在一起,并通过一个灰色的单元格边界显示,该边框为蓝色的左边框。
命令行模式(按 Esc 生效)编辑快捷键
F: 查找并且替换
Ctrl-Shift-F: 打开命令配置
Ctrl-Shift-P: 打开命令配置
Enter: 进入编辑模式
P: 打开命令配置
Shift-Enter: 运行代码块, 选择下面的代码块
Ctrl-Enter: 运行选中的代码块
Alt-Enter: 运行代码块并且插入下面
Y: 把代码块变成代码
M: 把代码块变成标签
R: 清除代码块格式
1: 把代码块变成heading 1
2: 把代码块变成heading 2
3: 把代码块变成heading 3
4: 把代码块变成heading 4
5: 把代码块变成heading 5
6: 把代码块变成heading 6
K: 选择上面的代码块
上: 选择上面的代码块
下: 选择下面的代码块
J: 选择下面的代码块
Shift-K: 扩展上面选择的代码块
Shift-上: 扩展上面选择的代码块
Shift-下: 扩展下面选择的代码块
Shift-J: 扩展下面选择的代码块
A: 在上面插入代码块
B: 在下面插入代码块
X: 剪切选择的代码块
C: 复制选择的代码块
Shift-V: 粘贴到上面
V: 粘贴到下面
Z: 撤销删除
D,D: 删除选中单元格
Shift-M: 合并选中单元格, 如果只有一个单元格被选中
Ctrl-S: 保存并检查
S: 保存并检查
L: 切换行号
O: 选择单元格的输出
Shift-O: 切换选定单元的输出滚动
H: 显示快捷键
I,I: 中断服务
0,0: 重启服务(带窗口)
Ctrl-L: code_prettify selected cell(s)
Ctrl-Shift-L: code_prettify the whole notebook
Esc: 关闭页面
Q: 关闭页面
Shift-L: 在所有单元格中切换行号,并保持设置
Shift-空格: 向上滚动
空格: 向下滚动
编辑模式:
编辑模式(按 Enter 生效)
Tab: 代码完成或缩进
Shift-Tab: 工具提示
Ctrl-]: 缩进
Ctrl-[: 取消缩进
Ctrl-A: 全选
Ctrl-Z: 撤销
Ctrl-/: 评论
Ctrl-D: 删除整行
Ctrl-U: 撤销选择
Insert: 切换 重写标志
Ctrl-Home: 跳到单元格起始处
Ctrl-上: 跳到单元格起始处
Ctrl-End: 跳到单元格最后
Ctrl-下: 跳到单元格最后
Ctrl-左: 跳到单词左边
Ctrl-右: 跳到单词右边
Ctrl-删除: 删除前面的单词
Ctrl-Delete: 删除后面的单词
Ctrl-Y: 重做
Alt-U: 重新选择
Ctrl-M: 进入命令行模式
Ctrl-Shift-F: 打开命令配置
Ctrl-Shift-P: 打开命令配置
Esc: 进入命令行模式
Shift-Enter: 运行代码块, 选择下面的代码块
Ctrl-Enter: 运行选中的代码块
Alt-Enter: 运行代码块并且插入下面
Ctrl-Shift-Minus: 在鼠标出分割代码块
Ctrl-S: 保存并检查
Ctrl-L: code_prettify selected cell(s)
Ctrl-Shift-L: code_prettify the whole notebook
下: 光标下移
上: 光标上移
四、Jupyter Notebook如何导入代码
即导入代码到jupyter notebook的cell中
4.1 将本地的.py文件load到jupyter的一个cell中
问题背景 :有一个test.py文件,需要将其载入到jupyter的一个cell中
test.py内容如下:
import caffe
SolverName = "/root/workspace"sovler = caffe.AdamSolver(SolverName)
方法步骤 :
(1)在需要导入该段代码的cell中输入
%load test.py #test.py #是当前路径下的一个python文件
(2)运行该cell
利用快捷键“Shift+Enter”,可以看到如下结果:
(3)可以看到,运行后, %load test.py
被自动加入了注释符号#,test.py中的所有代码都被load到了当前的cell中
五、Jupyter运行python文件
利用jupyter的cell是可以运行python文件的,即在cell中运行如下代码:
%run file.py
file.py为要运行的python程序,结果会显示在该cell中
六、Jupyter中的Markdown
6.1 在jupyter中设置link,需要设置两部分:
要跳到的位置(the destination)
需要在要跳转到的位置添加下面语句:
<a id='the_destination'></a>
这里的id取值任意赋值,下面在添加链接时要用
需要添加链接的文字(an internal hyperlink to the destination),即点击该处可以跳转到the destination,在需要添加链接的文字后面加入:
[需要添加连接的文字](#the_destination)
下面是一个例子:
源码:
效果图:
6.2 为Jupyter Notebook添加目录功能
原始的Jupyter是不支持markdown添加目录功能的
实际上,可以利用 Jupyter notebook extensions 去使得这种功能实现
具体方法:
利用Anaconda安装Jupyter Notebook extensions
conda install -c conda-forge jupyter_contrib_nbextensions
打开Jupyter Notebook,在它的(新增的)Nbextensions标签下勾选“Table of Contents(2)”
打开一个.jpynb文件,发现,目录功能可用了!
参考文献
[1] 为Jupyter Notebook添加目录
七.其他
7.1 使用Matplotlib绘图
在Jupyter Notebook中,如果使用Matplotlib绘图,有时是弹不出图像框的,此时,可以在开头加入
%matplotlib inline
7.2 主题更换
pip install --upgrade jupyterthemes
然后可以查看所有可用的主题:
jt -l
可以用下面命令选择要用的主题:
jt -t grade3 -cellw 1366 白底
jt -t solarizedl -cellw 1366 黄底
jt -t monokai -cellw 1366 黑底
如果要恢复默认:
jt -r
7.3 Markdown颜色
<font color='green'>text</font>
7.4 Markdown插入网页链接
[Dogs vs. Cats Redux: Kernels Edition](https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition)
八、 Jupyter notebook中设定Kernel为Python2和Python3
添加python3的kernel,在Windows下cmd中设置:
ipython3 kernelspec install-self
九、jupyter密码设置
jupyter notebook --generate -config
jupyter notebook password
十、模块折叠
安装 nbextensions
1
2
|
pip install jupyter_contrib_nbextensions jupyter contrib nbextension install - - user |
安装 nbextensions_configurator
1
2
|
pip install jupyter_nbextensions_configurator jupyter nbextensions_configurator enable - - user |
勾选Hinterland即启用了代码自动补全
Collapsible Headings 标题折叠