今天偶然在教程里发现一个后缀格式为ipynb的文件,就上网查了查,发现它是Jupyter Notebook打开的一种格式。Jupyter Notebooks 是一款开源的网络应用,我们可以将其用于创建和共享代码与文档。其提供了一个环境,你无需离开这个环境,就可以在其中编写你的代码、运行代码、查看输出、可视化数据并查看结果。因此,这是一款可执行端到端的数据科学工作流程的便捷工具,其中包括数据清理、统计建模、构建和训练机器学习模型、可视化数据等等,同时Jupyter Notebook也是数据科学/机器学习社区内一款非常流行的工具。主要内容可参考到:Jupyter快速10分钟教程 入门|始于Jupyter Notebooks:一份全面的初学者实用指南
1.安装 Jupyter Notebooks
以ubuntu为例,安装jupyter。
pip3 install jupyter
2.如何使用
运行 Jupyter Notebooks,只需在命令行输入以下命令即可!
jupyter notebook
完成之后,Jupyter Notebooks 就会在你的默认网络浏览器打开,地址是:http://localhost:8888/tree
详细使用查阅:Jupyter快速10分钟教程
3.错误提示
在命令行输入了jupyter notebook的命令之后可能出现如下的错误提示。
Debug:Error loading notebook An unknown error occurred while loading this notebook.
这个错误的弥补方法是修改~/.local/share/jupyter文件夹的权限:
sudo chmod -R 777 ~/.local/share/jupyter
4.为Jupyter Notebook添加多个python内核
当需要python双版本时,就需要添加该python版本的内核。
查看jupyter notebook内核列表。
jupyter kernelspec list
安装或删除其他内核。
ipython kernel install --name python2 #安装python2 jupyter kernelspec uninstall python2 #删除python2
上面的内核安装操作完成后,便能在jupyter notebook上出现多个内核切换。
完成上面步骤之后,如果不能正常使用,则还需要继续配置。根据安装过程中的经验可知,在安装内核的时候实际上是把kernel文件复制到了C:\ProgramData\jupyter\kernels文件目录下,所以还需要打开该路径下的python2文件夹,对里面的kernel.json文件进行编辑:
{ "display_name": "Python 2", "language": "python", "argv": [ "c:\\program files (x86)\\microsoft visual studio\\shared\\python27_64\\python2.exe", "-m", "ipykernel_launcher", "-f", "{connection_file}" ] }
解释:
①"display_name": "Python 2",就是在jupyter notebook上显示的python2的名字,这个可以随意修改;
②"language": "python" 表示使用python语言,需保持不变;
③"c:\\program files (x86)\\microsoft visual studio\\shared\\python27_64\\python2.exe"这是我个人的python2的安装和应用程序路径,你需要根据自己的相关环境变量修改!
重新启动jupyter notebook,一般就能正常在jupyter切换python2与python3,但我还是遇到了no module named ipykernel_launcher的提示,这是kernel没配置或者配置好的kernel不认识了导致的。我发现很多人写的,要么是需要sudo的,要么是需要在conda里面用,跟我的情况都不一样,最后找到了一条解决办法:
python3 -m ipykernel install --user
5.github仓库里jupyter notebook 文件.ipynb的阅读
比如你的.ipynb文件在github上的链接是:
https://github.com/XiaoFei-97/Machine-Learning/blob/master/linear_regression.ipynb
那么你可以用如下nbviewer打开你的此文件
http://nbviewer.jupyter.org/github/XiaoFei-97/Machine-Learning/blob/master/linear_regression.ipynb
注意两部分的拼接,我用括号(…)括起来:
https://github.com/(XiaoFei-97/Machine-Learning/blob/master/linear_regression.ipynb) (http://nbviewer.jupyter.org/github/)XiaoFei-97/Machine-Learning/blob/master/linear_regression.ipynb