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

如何无需发布至GitHub/Heroku,本地分享Streamlit Web应用?

无需部署即可本地分享Streamlit应用的方法

下面提供两种无需发布到Heroku/GitHub,就能在本地局域网内分享给他人的方案,附完整实现步骤:

一、使用批处理(.bat)文件快速启动

这种方式适合对方电脑已安装Python/Conda环境的场景:

  1. 新建一个文本文件,重命名为启动应用.bat(后缀必须是.bat)
  2. 右键编辑该文件,根据你的环境修改以下代码:
@ECHO OFF
:: 替换为你的Conda或Python安装根目录
set root=C:\ProgramData\Miniconda3
:: 激活conda环境(如果用的是系统默认Python,可跳过这步直接用python命令)
call %root%\Scripts\activate.bat
:: 切换到你的Streamlit应用所在文件夹
cd "D:\你的应用文件夹路径"
:: (可选)如果对方环境缺少依赖,执行这步安装(需提前准备好requirements.txt)
pip install -r requirements.txt
:: 启动应用并允许外部访问
streamlit run app.py --server.enableCORS false --server.enableXsrfProtection false
  1. 保存后,把这个bat文件、你的app.py代码、requirements.txt一起发给对方
  2. 对方双击bat文件,命令行里会显示访问地址(比如http://你的本地IP:8501),让对方在浏览器输入该地址就能访问

注意:你和对方必须在同一个局域网下,比如连同一个WiFi。

二、打包成独立EXE文件(无需对方装Python)

如果对方没装Python,可把整个应用打包成独立EXE:

  1. 先在你的环境里安装打包工具:
pip install pyinstaller streamlit
  1. 在应用文件夹里新建启动脚本.py,内容如下:
import streamlit.web.cli as stcli
import sys

if __name__ == "__main__":
    # 配置启动参数,允许外部访问
    sys.argv = ["streamlit", "run", "app.py", "--server.enableCORS", "false", "--server.enableXsrfProtection", "false"]
    stcli.main()
  1. 打开命令行,进入应用文件夹,执行打包命令:
pyinstaller --onefile --windowed --add-data "app.py;." --add-data "requirements.txt;." 启动脚本.py
  1. 打包完成后,去文件夹里的dist目录找生成的EXE文件(比如启动脚本.exe)
  2. 把这个EXE连同应用用到的所有资源文件(比如图片、数据csv)一起发给对方,对方双击EXE就能启动应用,同样从命令行获取访问地址即可

注意:如果应用有外部资源,要确保EXE和资源在同一文件夹;打包后的EXE体积会偏大(包含Python运行环境),属于正常情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:10:35