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说起:
Jupyter Notebook二次开发的经验(一)——安装开发版本_第1张图片
tree.html是文件列表页面;
notebook.html是notebook代码运行页面;
这里不一一列出,大家可以根据相关特征进行判断。
比较简单的就是修改前端的一些样式、文字和图标。

Jupyter Notebook二次开发的经验(一)——安装开发版本_第2张图片

你可能感兴趣的:(工具)