1、简介
jupyter,一个一体化的语言,IDE及通用分布式架构环境。比WEB更自然,jupyter用于通用软件开发的创新意义:使任何传统程序秒变WEB。Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。
目前用过的python ide有spyder, pycharm以及近年出的仿R studio的Rodeo,还是感觉jupyter notebook用的最得心应手。特别是在数据分析、机器学习等python编程的主力领域,我们的研究过程常常是探索性的,导入数据,查看数据的统计特征,试试这个模型,试试那个处理方法等,在这种情况下,notebook确实可以为我们提供一个高级“草稿本”,有了它,我们可以展示我们的探索过程,也可以在事后删去那些不相关的部分。应该说,jupyter notebook的流行是和特定领域的工作方式分不开的。比如,在python的网络开发领域,更流行的应该是pycharm,因为大家的工作并不一样。jupyter notebook的另外一个妙用是:提供了一种新的代码复用的方式。编程领域常见的代码复用方式编写一个新的外部库,然后提交到pypi或github,然后大家需要pip安装,整个流程还是比较复杂的。这种方式对于那些大型的库是很好的,但对于一些处理小问题的小脚本就有点大材小用了。比如,我只是想写一个绘制函数图像的脚本,其中预设一些绘图的格式,我就是只需要将相关功能实现在一个Notebook中,像这样:使用matplotlib绘制函数图像,当你把notebook下载起来,安装必要的库,然后就可以直接在notebook是使用相应的功能了。在notebook常用的领域中,像科学计算、数据分析与机器学习,这种代码复用的方式是非常方便的。至于notebook可能造成的滥用问题,我觉得这个可以通过使用者的代码规范来加以解决,适当设计整个book的结构,比如第一行写上这个Notebook的作者,联系方式,主要用途等信息,第二行导入所有必要的库,然后之下的每一行都是一个单独的功能模块,这样整个代码的结构就会清晰很多。这个方面,一些kaggle上面优秀的notebook很值得学习。
2、参考
Python·Jupyter Notebook各种使用方法记录
我们需要使用其他类型的单元格,即 Header单元格和 Markdown单元格。
首先,我们在顶部添加一个 notebook 的标题。选中第一个单元格,然后点击Insert -> Insert单元格above(在上方插入单元格)。你会发现,文档的顶部马上就出现了一个新的单元格。点击在快捷键栏中的单元格类型,将其变成一个标题单元格(heading cell)
要想在 Jupyter notebook 中使用 matplotlib,需要告诉 Jupyter 获取 matplotlib 生成的所有图形,并将其嵌入 notebook 中。为此,需要计算:
%matplotlib inline
3、修改工作路径
网上很多教程,然而在我的windows10系统上毫无作用,有很多人跟我有相同的情况。
根据方法一,在我的笔记本上成功,相同的环境,不懂。
3-1、方法一
- cmd: jupyter notebook –generate-config
- 找到 ~.jupyter 中的文件 jupyter_notebook_config.py
- 修改c.NotebookApp.notebook_dir = ‘你的目录’
注意
\
这个是转义字符。The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = u’C:\Users\Administrator\Desktop\JupyterNotebook’
3-2、方法二
windows下一种解决方案:在你要打开的目录里新建文本文档输入以下内容
rem – start_ipython_notebook_here.bat —
dir
ipython notebook
pause
保存另存为.bat文件,使用时双击即可。
3-3、方法三
## The default URL to redirect to from `/`
c.NotebookApp.default_url = '/tree/Desktop/JupyterNotebook'
3-4、方法四
第一步进入cmd,然后输入工作文件夹路径cd进入,最后运行jupyter-notebook命令即可。
4、添加登录密码
# Preparing a hashed password使用python运行为 Jupyter 创建密钥
>>from notebook.auth import passwd
>>passwd()
Enter password:
Verify password:
'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
# 修改配置文件
c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
5、运行BUG
5-1、IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.
5-2、Python中matplotlib.pyplot.hist显示x must be 1D or 2D
只需要将倒数第二行的h=plot.hist(deg.values(),100)改为h=plot.hist(list(deg.values()),100)就可以了,python 3.x。
5-3、Python ‘TypeError’: ‘Generator’ object is not subscriptable
def gcd1(a,b):
""" the euclidean algorithm """
while a:
a, b = b%a, a
return b
for x in set1:
print(gcd1(x, set2[x]))
A:This means that set2 is a generator, to get around this just turn it into a list.
set2_list = list(set2)
for x in set1:
print(gcd1(x, set2_list[x]))
5-4、消除警告提示语
import warnings
warnings.filterwarnings("ignore")
6、修改jupyter notebook主题、字体和启动路径
6-1、安装主题
window在cmd中输入
pip install –upgrade jupyterthemes
完成后输入查看
jt -l
就提示有
Available Themes:
chesterish
grade3
monokai
oceans16
onedork
solarizedd
solarizedl
6-2、切换
输入
jt -t 主题名 -N -T
如果命令是‘jt -t 主题名’的形式切换的主题没有工具栏
执行后重启jupyter就行,恢复默认风格则
jt -r
6-3、修改字体
在浏览器中修改字体即可,这里将chrome的设置->高级中修改Consolas。
6-4、启动路径
先在cmd中查找启动路径:
jupyter notebook –generate-config
选择是否要替换默认的
C:\Users\Administrator.jupyter\jupyter_notebook_config.py with default config? [y/N]n # 选择不替换为默认配置
然后到指定路径下打开文件jupyter_notebook_config.py,搜索**并修改路径:1
2
3## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''
c.NotebookApp.notebook_dir = 'D:\\newfolder'
保存重启就可以。但是经常通过快捷方式启动,发现还是默认路径,原因在于快捷方式的属性中还是使用了%USERPROFILE%。将这个删除就行!