jupyter notebook的使用和一些设置

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39198406/article/details/88720550

0. notebook生成配置

运行下面的命令会在用户目录下生成一个配置文件~/.jupyter/jupyter_notebook_config.py

jupyter notebook --generate-config

如果是root用户执行的,则会有下面的提示:

Running as root it not recommended. Use --allow-root to bypass.

这时候应该加上--allow-config执行:

jupyter notebook --generate-config --allow-config

然后生成密码运行下面的命令:

jupyter notebook password

此命令会生成一个文件~/.jupyter/jupyter_notebook_config.json,里面存的是加密之后的密码。
生成配置文件之后,如果想要配置一些常用的功能,直接修改配置文件即可,官方文档参考:notebook文档

1.notebook常用配置

c.NotebookApp.ip = '*'  # 允许所有ip访问
c.NotebookApp.port = 9123  # 设置服务端口
c.NotebookApp.open_browser = False  # 设置服务启动的时候是否自动打开浏览器
c.NotebookApp.token = ""  # 用于验证与服务器的首次连接,设置为空相当于取消验证(这种方式需要同时删除jupyter_notebook_config.json)。
c.NotebookApp.terminals_enabled = False  # 禁止使用终端
c.NotebookApp.allow_password_change = False  # 禁止修改密码
c.NotebookApp.quit_button = False  # 禁用页面中的Quit按钮
c.NotebookApp.certfile = u'~t/.jupyter/mycert.pem'  # https密钥位置
c.NotebookApp.notebook_dir = "~/notebook_work_dir/"  # 打开首页时的工作路径

2. notebook iframe跨域访问

这个单独拿出来说一下,如果想要把notebook嵌入到其他页面中,供用户使用,可以在配置文件中设置以下值(旧版本是webapp_settings):

c.NotebookApp.tornado_settings = {
      'headers': {
            'Content-Security-Policy': "frame-ancestors self *; report-uri /api/security/csp-report",
      }
}

不设置的话请求会被禁止。

3. notebook设置不跳转

如果我们把notebook作为一个功能模块嵌入到自己的网站中,在操作总肯定不会希望会打开新的标签,有如下解决方式。
在项目源代码中全局搜索Jupyter._target你会发现大概有六个地方js代码(对应每个模块)的配置是这样的:

Jupyter._target=_blank

这个设置将页面中的a标签的target值强制转为了_blank,我们把这几个地方的源码改成下面这样:

Jupyter._target=_self

就解决了。

4. notebook小部件

pip install ipywidgets  # 安装模块
pip install widgetsnbextension  # 安装模块
jupyter nbextension enable --py widgetsnbextension  # 开启扩展

5.notebook输出

转换为html:

jupyter nbconvert --to html notebook.ipynb  # 转为html文件

创建幻灯片:

jupyter nbconvert notebook.ipynb --to slides  # 将 notebook 转换为幻灯片必需的文件,需要向其提供 HTTP 服务器才能真正看到演示文稿
jupyter nbconvert notebook.ipynb --to slides --post serve  # 转换它并立即看到它

参考:https://blog.csdn.net/jjwho/article/details/78765352
参考:https://www.cnblogs.com/wu-chao/p/8419889.html
参考:https://www.cnblogs.com/Neo007/p/7501625.html

展开阅读全文

没有更多推荐了,返回首页