jupyter
是一个开源项目,脱胎自ipython
项目,目的是创建功能强大的交互式解释器(repl)。
jupyter
项目架构图如下,可以简单认为ipython
为整个jupyter
项目提供编程语言(内核)层面的支持,而jupyter console
、jupyter qtconsole
、jupyter notebook
只是用户交互界面。
因此可以将jupyter notebook
理解为一个基于web的增强交互式解释器ui(网站),依托ipython
它可以安装一些语言支持,初始阶段只支持python语言(ipython),现在还可以安装julia、r内核(解释器)。
jupyter notebook
特点是可以将代码、公式、可视化结果等结合在一个可分享的文档中,主要应用于数据科学和科学计算。
jupyterlab
是下一代jupyter notebook
的用户界面。
conda:
conda install -c conda-forge notebook
pip:
pip install notebook
jupyter notebook
作为web应用,运行于网页浏览器中,目前支持chrome
、firefox
、safari
以及使用chromium内核的edge
、opera
浏览器。
jupyter notebook
是基于tornado
和zeromq
开发的,可以简单理解为一个动态网站,那么运行jupyter notebook
必须先运行web服务器。
在命令行中输入jupyter notebook
并回车即可运行jupyter notebook
服务器,运行成功后jupyter notebook
将会在浏览器中打开web ui(jupyter
内部称其为dashboard
)。
注意!在jupyter notebook
服务运行状态下,dashboard
是可以关闭的,可通过url或本地文件再次打开dashboard
。
与此同时,控制台会显示服务的相关信息:
# 说明jupyter notebook保存路径,此处为c:\users\administrator
[i 22:52:10.317 notebookapp] serving notebooks from local directory: c:\users\administrator
# 说明jupyter notebook 服务器地址,此处为http://localhost:8888/或http://127.0.0.1:8888/
[i 22:52:10.317 notebookapp] the jupyter notebook is running at:
[i 22:52:10.318 notebookapp] http://localhost:8888/?token=41b5f0e4c5e7ec596a2e8c9662b859de4c32e4cd7290e791
[i 22:52:10.319 notebookapp] or http://127.0.0.1:8888/?token=41b5f0e4c5e7ec596a2e8c9662b859de4c32e4cd7290e791
# 在控制台按ctrl c会停止jupyter notebook服务器
[i 22:52:10.319 notebookapp] use control-c to stop this server and shut down all kernels (twice to skip confirmation).
[c 22:52:10.443 notebookapp]
# 在不停止jupyter notebook服务器的前提下,可以通过以下三种方式再次打开jupyter notebook
to access the notebook, open this file in a browser:
file:///c:/users/administrator/appdata/roaming/jupyter/runtime/nbserver-10848-open.html
or copy and paste one of these urls:
http://localhost:8888/?token=41b5f0e4c5e7ec596a2e8c9662b859de4c32e4cd7290e791
or http://127.0.0.1:8888/?token=41b5f0e4c5e7ec596a2e8c9662b859de4c32e4cd7290e791