如何嵌入Jupyter Notebook
时间: 2025-03-08 22:09:15 浏览: 21
### 将 Jupyter Notebook 嵌入到网页或其他应用
默认情况下,Jupyter Notebook 的 HTTP Content-Security-Policy (CSP) 安全策略不允许其被嵌入到 iframe 中[^1]。为了实现在网页或其他应用程序中嵌入 Jupyter Notebook,需调整 CSP 设置。
#### 修改 Jupyter Notebook 配置文件
可以通过修改 `jupyter_notebook_config.py` 文件来更改 CSP 设置。具体操作如下:
找到或创建该配置文件的位置通常位于用户的 `.jupyter` 目录下。如果不存在此文件,则可通过运行命令 `jupyter notebook --generate-config` 自动生成一份模板配置文件[^5]。
编辑上述提到的配置文件,在其中加入以下内容以允许特定域名下的页面加载 Jupyter Notebook 实例作为子框架:
```python
c.NotebookApp.tornado_settings = {
'headers': {
'Content-Security-Policy': "frame-ancestors 'self' *.example.com;"
}
}
```
请注意替换掉 `"*.example.com"` 为实际想要授权访问的域名单词或者通配符表达式。
完成以上步骤之后重启 Jupyter Notebook 服务使新的设置生效。
另外一种方法是在启动 Jupyter Notebook 时通过命令行参数指定 CSP 策略,例如:
```bash
jupyter notebook --NotebookApp.allow_origin='https://yourdomain.com'
```
这将使得来自 `https://yourdomain.com` 的请求能够成功加载当前主机上的 Jupyter Notebook 页面作为一个内联框架。
对于希望更灵活控制的情况,还可以考虑使用第三方工具和服务如 Binder 来托管交互式的笔记本实例,并将其集成至自己的网站当中。
最后值得注意的是,当尝试在生产环境部署此类功能之前应当充分评估安全风险并采取适当措施加以防范。
阅读全文
相关推荐


















