jupyter notebook探索

Jupyter notebook(http://jupyter.org/) 是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

启动notebook 服务器后,在浏览器中打开notebook页面地址:http://localhost:8888(其中localhost 表示你的计算机,而 8888 是服务器的默认端口)如果你同时启动了另一个 notebook 服务器,新服务器会尝试使用端口 8888,但由于此端口已被占用,因此新服务器会在端口 8889 上运行。之后,你可以通过 http://localhost:8889 连接到新服务器。以此类推。

顶部的3个选项卡是:Files(文件)、Running(运行)和 Cluster(集群)。Files(文件)显示当前“notebook工作文件夹”中的所有文件和文件夹。点击 Running(运行)选项卡会列出所有正在运行的 notebook。可以在该选项卡中管理这些 notebook。Clusters一般不会用到。因为过去在 Clusters(集群)中创建多个用于并行计算的内核。现在,这项工作已经由 ipyparallel 接管。

(其实Notebook 就是个扩展名为 .ipynb 的大型 JSON 文件)

安装环境自动关联包

conda install nb_conda

该包可以将conda中创建的环境自动关联到你的notebook中。用 conda env list 就可以列出你创建的所有环境。你会发现有自己创建的环境名称没有出现在notebook中。解决办法是按下图步骤安装包ipykernel
在这里插入图片描述
在Conda下,选择环境名称,搜索ipykernel包,选中,点击箭头进行安装。完成上面安装步骤,回到标签页“Files”,再新建notebook时,会发现已经关联了对应的环境名称。在这里插入图片描述
经过上面步骤后,notebook的首页右上角,在新建的时候没有显示py3和py2两个环境的关联,这个时候,你可以尝试重启浏览器,注意!是重启浏览器,不是notebook!

或者

确保python3环境下安装了ipykernel

pip install ipykernel
# or
conda install ipykernel

然后执行 ,kernelname为kernel指定名字

python -m ipykernel install --name kernelname

ubunto系统需要在前面加上sudo,使用 sudo 提升权限之后,python会自动调用系统环境下的python,而不是当前环境下的python。如果系统环境下的python没有安装 ipykernel ,则会创建失败,给出以下提示:No module named ipykernel

有两个解决办法

  • 在系统环境下安装 ipykernel 库
  • 使用当前环境的python

方法2中为了得到当前环境的python路径,可以用 which 命令查看

which python
/home/babao/anaconda3/envs/hello/bin/python

将之前的命令改为用当前环境下的python执行,成功添加kernel后就可以在jupyter notebook中使用

sudo /home/babao/anaconda3/envs/hello/bin/python -m ipykernel install --name medicine
Installed kernelspec hello in /usr/local/share/jupyter/kernels/medicine

查看jupyter notebook kernel使用命令jupyter kernelspec list

删除notebook kernel使用命令jupyter kernelspec remove kernelname

安装代码自动补全包

conda install pyreadline

如果你定义的变量想出现在代码补全里,需要你先把定义该变量的cell运行以后,notebook才能识别它,在后面代码中用到这个变量时,只要输入该变量的第一个字母,然后按下Tab键,notebook会自动查找到代码中以p开头的变量名称,这可以大幅度提供你写代码的效率。

共享你的notebook

点击File->Download as,你可以选择多种格式下载你的notebook:
1)如果想和客户分享数据分析成果,可将notebook下载为HTML文件
2)如果希望将自己的数据分析成果和代码嵌入到项目中,比如为药店管理系统做个数据分析子模块,可选择Python(.py)模块,这可以将我的代码融入项目中,成为子模块,方便和其他开发人员共同完成任务
3)如果要在博客或文档中使用 notebook,就选择Markdown格式
在这里插入图片描述

安装nbextensions扩展包

笔记本扩展(nbextensions)是一种JavaScript模块,可以加载到笔记本前端页面上,可以大大提升用户体验。
Hinterland
Hinterland功能可以让你每敲完一个键,就出现下拉菜单,可以直接选中你需要的词汇
Snippets
Snippets在工具栏里加了一个下拉菜单,可以非常方便的直接插入代码段,完全不用手动敲

还没用起来,后面补充。

去除警告信息

在最开始的Cell中输入如下

import warnings
warnings.filterwarnings("ignore")

版权声明:本文为weixin_43026262原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。