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

如何在Jupyter Hub环境运行Streamlit应用并支持多用户访问

Jupyter Hub 环境运行可共享的Streamlit应用操作指南

前置准备

  • 打开Jupyter Hub内置的终端,执行命令安装Streamlit,避免全局权限问题:
    pip install --user streamlit
  • 新建测试应用文件(比如命名为jh_streamlit_test.py),写入基础测试代码:
import streamlit as st
st.title('This is a Streamlit test in JH')

适配Jupyter Hub的启动方式

本地环境直接跑streamlit run 文件名.py就能访问,但Jupyter Hub有反向代理层,直接启动会出现路径不匹配、无法访问的问题,启动时需要加适配参数:

仅当前用户自己访问(和Voila体验一致)

在终端执行启动命令:
streamlit run jh_streamlit_test.py --server.port 8501 --server.address 0.0.0.0 --server.baseUrlPath=/user/$USER/proxy/8501/
启动后不用管终端输出的localhost链接,直接在浏览器访问https://<你的Jupyter Hub访问域名>/user/<你的Hub用户名>/proxy/8501/就能看到渲染好的应用,交互逻辑和本地运行完全一致。

如果启动时提示8501端口被占用,换成1024-65535之间任意未被使用的端口即可,记得同步替换命令和访问地址里的端口号。

开放给Hub内其他用户访问

如果要让同Hub下的其他用户也能访问你的应用,启动时额外关闭两个默认的访问校验参数即可:
streamlit run jh_streamlit_test.py --server.port 8501 --server.address 0.0.0.0 --server.baseUrlPath=/user/$USER/proxy/8501/ --server.enableCORS false --server.enableXsrfProtection false
只要Hub管理员没有配置用户代理端口的访问隔离,其他用户直接访问和你相同的应用地址,就能直接打开使用,不需要在他们自己的环境里重复安装依赖或启动服务。
如果需要关了终端也让应用持续跑,可以在启动命令前加nohup挂后台:
nohup streamlit run jh_streamlit_test.py [你的其余启动参数] &


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:27:17