You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含Plotly可视化的Jupyter Notebook转为限权免登录Web应用

方案选型建议

优先选Mercury,别先折腾Voila。Voila本身只负责把Notebook转成可交互网页,不带任何权限控制能力,要做“无登录+指定人可访问”的效果,得自己写鉴权逻辑、配反向代理,新手踩坑概率极高。Mercury原生就带私密链接分享、令牌校验的功能,完美适配Plotly图表,你原来写的Notebook代码几乎不用改,上手成本最低。

Mercury 实操步骤(全程不用改核心绘图代码)
  • 第一步:装依赖
    在你平时跑这个Notebook的Python虚拟环境里,直接执行安装命令:pip install mercury。尽量和你原来的环境保持一致,避免Plotly、pandas这些包版本不兼容导致图表加载失败。
  • 第二步:给Notebook加最小配置
    打开你原来的.ipynb文件,在最顶部新建一个原始单元格(Raw NBConvert格式,别选代码/Markdown格式),填下面的基础配置:
    ---
    title: 你的数据看板名称
    description: 数据可视化内容说明
    show-code: false
    share: private
    ---
    
    这里两个关键参数记一下:show-code: false会把所有代码单元格藏掉,用户打开只能看到图表、交互控件,和你之前导出的HTML展示效果一致;share: private会关掉公开访问,只有带有效访问令牌的链接才能打开页面。你原来写的Plotly绘图、数据处理逻辑一行都不用动,原来在Notebook里能跑通,转成Web应用就不会出大问题。
  • 第三步:本地验证效果
    在Notebook所在的文件夹开终端,执行mercury run,启动完成后会自动打开本地页面,你先挨个测一遍Plotly图表的交互:悬停看数、缩放、筛选控件是不是都正常,和你本地Notebook里跑的效果对不对得上。
  • 第四步:生成授权访问链接
    启动后终端会打印本地管理后台的地址和初始管理员账号密码,登进去找到你刚导入的Notebook应用,在分享设置里可以给每个授权用户单独生成带唯一token的专属链接:
    • 每个链接自带独立的访问令牌,不用给用户注册账号、不用设密码,用户点链接直接进应用,没有登录环节
    • 要是某个用户的访问权限要收回,直接在后台把对应token禁用就行,不影响其他已授权用户的访问
    • 你也可以给所有授权用户生成同一个通用带token的链接,适合小范围快速分享的场景
  • 第五步:部署到公网
    不想自己折腾服务器的话,直接用Mercury的官方托管服务,上传Notebook点一下部署就能拿到公网访问地址,不用自己配域名、SSL、反向代理。有自己内部服务器的话,在服务器上执行mercury run 0.0.0.0:你的端口号,配个端口映射就能在内网/公网访问,不需要额外装其他组件。
选Voila的话要注意的问题

如果你已经熟悉Voila,要实现同样的无登录授权效果,得自己补全鉴权层:

  • 先装依赖:pip install voila
  • 本地启动命令用voila 你的notebook路径.ipynb --strip_sources=True,加--strip_sources=True参数可以隐藏所有代码单元格,只展示输出内容
  • 鉴权部分需要自己写中间件或者配反向代理规则,校验请求URL里的token参数,只有带你预先设置的合法token的请求才能访问Voila服务,这部分对新手不友好,很容易出现权限绕过的漏洞,没有开发经验的话不推荐走这条路。
新手容易踩的坑
  • 别把数据库密码、API密钥这类敏感信息硬编码在Notebook的输出单元格里,哪怕开了隐藏代码的配置,输出单元格的内容用户是能看到的
  • 本地数据集、配置文件的路径尽量用相对路径,别写C:/xxx/xxx.csv这种绝对路径,不然部署到服务器之后会找不到文件报错
  • 生成访问令牌的时候别用太简单的字符串(比如123456、test这类),尽量用随机生成的32位以上字符,避免被人暴力猜中绕开访问限制
  • 发邮件的时候直接把完整带token的链接粘到正文就行,用户点开直接看图表,比发HTML附件体验好,后续数据更新了也不用反复给用户发新文件。

内容的提问来源于stack exchange,提问作者user9167

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:03:34