Jupyter Notebook二次开发的经验(一)——安装开发版本
搭建开发环境
安装Node.js和npm
参考:https://www.runoob.com/nodejs/nodejs-install-setup.html
安装Notebook-dev
使用Python虚拟环境或者默认环境执行下面的操作:
git clone https://github.com/jupyter/notebook
cd notebook
pip install -e .
完成后,使用pip list查看发现,notebook 5.5.0.dev0会指向一个路径。
启动服务jupyter notebook,此时notebook服务端会运行你正在编辑的源代码。
前端使用jinja2模板编写,页面加载了大量的js,并需要使用npm构建。
运行npm run build:watch监听js的修改及时构建。
另外,服务端的调试模式为jupyter notebook --debug
配置文件
notebook
执行jupyter notebook --generate-config在用户目录生成配置文件~/.jupyter/jupyter_notebook_config.py
常用配置如下:
# 解决跨域问题
c.NotebookApp.tornado_settings = {'headers': {'Content-Security-Policy': "frame-ancestors self *; report-uri /api/security/csp-report",}
}
# 可访问的IP地址
c.NotebookApp.ip = '*'
# 端口
c.NotebookApp.port = 9123
# 启动服务端时是否打开浏览器
c.NotebookApp.open_browser = False
# 去掉密码验证
c.NotebookApp.token = ""
# 是否开启新建终端
c.NotebookApp.terminals_enabled = False
# 是否可以通过前端修改密码
c.NotebookApp.allow_password_change = False
# 前端是否展示退出按钮
c.NotebookApp.quit_button = False
# 默认打开的目录路径
c.NotebookApp.notebook_dir = "workspace"
可以根据客户需求适当修改配置。
文档列出了所有配置:notebook配置项
ipython
如果在加载内核(即启动任意notebook)的时候执行指定的代码。
在路径~/.ipython\profile_default\startup下面放置.py文件,类型00-dataset_api.py命名,前面的数字代表优先级。
这样在notebook中就可以调用目录下python脚本定义的类、函数和变量。
开始二次开发
Notebook后端使用tornado框架,分为多个模块。对应的于templates不同的页面。
从templates说起:

tree.html是文件列表页面;
notebook.html是notebook代码运行页面;
这里不一一列出,大家可以根据相关特征进行判断。
比较简单的就是修改前端的一些样式、文字和图标。

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
