
作为一名 Python 兴趣者我近期基于 Streamlit 开发了非遗文创展示网页完成本地开发后核心需求就是让这个应用能被任何人通过公网链接访问。对比多种部署方案后发现Streamlit Community CloudStreamlit 官方免费部署平台是新手最友好的选择 —— 无需服务器、无需复杂配置、完全免费今天就把我踩坑后总结的「保姆级部署步骤」分享给大家。首先给大家看一下我文件夹所有的网页相关的文件——2.py为我的streamlit web运行代码wenchuang-env是后边部署虚拟环境时生成的文件夹此时不需要管其余图片为web页面中所涉及的图片其中.txt文件为在Github中上传文件时所需准备的一个文件这里建议大家将代码扔给ai让ai告诉我们这个文档里是什么内容我们手动添加我开始使用命令生成的都为乱码不可用一、为什么选 Streamlit Community Cloud在尝试阿里云 ECS、Heroku 等方案后我最终选择官方云的核心原因 完全免费无广告、无强制付费升级 一键部署无需手动配置环境 / 依赖 / 端口 自动同步 GitHub 代码修改后提交即可自动更新 原生适配 Streamlit 所有功能session_state、交互组件、图片加载等 自动适配移动端无需额外做响应式设计。唯一小限制免费版单应用同时在线约 10 人7 天无访问会进入休眠首次访问慢 10 秒左右刷新即恢复完全满足个人展示、小型项目测试的需求。二、部署前的 3 项核心准备避坑关键部署失败 80% 的原因是前期准备不到位这三步务必做扎实步骤 1规整项目文件结构确保所有文件放在同一个根文件夹以我的非遗文创项目为例标准结构如下层级不能乱wenchuang_web/ # 项目根文件夹命名随意建议英文 ├── 2.py # Streamlit主程序文件核心文件名自定义 ├── requirements.txt # 依赖清单必须有关键文件 ├── 1.png # 项目图片资源所有静态文件放同级 ├── 首页1.png # 其他图片/数据文件 └── 首页2.png⚠️ 核心要求代码中所有文件路径必须是相对路径如Image.open(1.png)绝对不能用本地绝对路径如C:\Users\XXX\1.png图片 / 数据文件必须和主程序同目录避免子文件夹嵌套新手易踩坑。步骤 2生成「精简版」requirements.txt新手最容易犯的错直接执行pip freeze requirements.txt会导出本地所有 Python 包包括 Anaconda 自带的、Windows 专属的冗余依赖部署时大概率报错。本人建议使用ai后我们手动添加正确做法先梳理项目真正依赖的包我的项目仅用 2 个手动创建requirements.txt只保留核心依赖且注意版本兼容性# requirements.txt 内容复制即可用 streamlit1.50.0 # 固定版本避免自动升级出问题 Pillow10.0.0 # 关键9.x版本与Python 3.14不兼容必须≥10.0.0步骤3本地验证必做在本地创建虚拟环境测试依赖是否能正常运行第一步先将我们的2.py在后台运行起来使用streamlit run 2.py本地机运行成功在本地创建虚拟环境测试依赖是否能正常运行依次在powershell中执行下面语句# 1. 创建虚拟环境Windows系统Mac/Linux替换为对应命令 python -m venv wenchuang-env # 2. 激活虚拟环境 .\wenchuang-env\Scripts\activate # 3. 安装依赖 pip install -r requirements.txt # 4. 运行应用验证功能正常 streamlit run 2.py成功示例如果浏览器能正常打开应用、图片加载无误、交互功能如购物车可用说明依赖配置正确。步骤 4上传代码到 GitHub核心前提Streamlit Community Cloud 通过 GitHub 仓库获取代码需先完成这一步1. 注册 GitHub 账号免费访问https://github.com/完成账号注册记住用户名和密码后续登录要用。2. 创建 GitHub 仓库点击右上角「」→「New repository」填写仓库名称如wenchuang_web建议和本地文件夹名一致勾选「Add a README file」可选方便管理点击「Create repository」创建仓库。3. 上传本地代码到 GitHub如果不习惯命令行推荐用「GitHub Desktop」https://desktop.github.com/安装后登录 GitHub 账号点击「Add repository」→「Add existing repository」选择本地项目文件夹点击「Commit to main」填写提交说明如「初始化项目」点击「Push origin」等待代码上传完成。✅ 验证打开 GitHub 仓库页面能看到所有项目文件2.py、requirements.txt、图片说明上传成功。如下图所示三、Streamlit Community Cloud 部署10 分钟搞定前期准备完成后部署步骤全程可视化无需敲一行命令步骤 1登录 Streamlit Cloud访问官网https://share.streamlit.io/点击「Log in」选择「Log in with GitHub」授权 GitHub 账号只需允许访问你的项目仓库即可。步骤 2创建新应用登录后点击页面右上角「New app」蓝色按钮进入部署配置页按以下要求填写关键不能错配置项填写说明Repository选择你上传代码的 GitHub 仓库如你的用户名 /wenchuang_webBranch默认选「main」或「master」GitHub 仓库默认分支Main file path填写 Streamlit 主程序文件名如2.py务必和本地文件名一致可选点击「Advanced settings」可设置 Python 版本建议选 3.10避免兼容性问题。如图所示部署成功步骤 3启动部署点击页面底部「Deploy」按钮开始部署部署过程会显示日志约 1-3 分钟主要看 3 个关键阶段 Cloning repository克隆 GitHub 仓库成功则显示「Cloned repository!」 Processing dependencies安装 requirements.txt 中的依赖重点看 Pillow 和 Streamlit 是否安装成功 Starting up启动应用无报错则部署完成。如图所示部署成功这样就可以分享链接了步骤 4获取公网访问链接部署成功后页面会自动跳转到你的应用页面浏览器地址栏就是公网访问链接点击sharcopy link可直接分享给任何人访问。✅ 验证复制链接到手机 / 另一台电脑能正常打开应用说明部署成功。四、部署常见踩坑及解决方案亲测有效表格问题现象核心原因解决方案部署日志报错KeyError: __version__Pillow 9.x 版本与 Python 3.14 不兼容将 requirements.txt 中 Pillow 版本改为10.0.0提交到 GitHub 后重启应用应用能打开但图片无法显示图片未上传到 GitHub / 路径错误确认图片在 GitHub 仓库中代码中用相对路径如1.png而非绝对路径依赖安装超时 / 失败依赖冗余 / 网络问题精简 requirements.txt只保留必要包或在 Advanced settings 中设置国内 pip 源应用休眠后访问慢免费版机制无需处理首次访问等待 10 秒左右后续自动恢复五、部署后关键操作1. 更新应用修改代码后本地修改代码→保存用 GitHub Desktop 提交修改→Push 到 GitHub 仓库Streamlit Cloud 会自动检测更新并重新部署约 1 分钟无需手动操作。2. 管理应用登录 Streamlit Cloud在「Apps」页面能看到所有部署的应用点击应用右侧「⋮」可选择「Restart app」重启应用、「Settings」修改配置、「Delete app」删除应用。3. 常见疑问解答Q退出本地虚拟环境deactivate/ 关闭电脑公网链接还能用吗A完全可以本地环境和云端应用是两个独立的系统云端应用运行在 Streamlit 的服务器上本地操作如 deactivate、关闭终端不会影响公网访问。Q免费版有流量限制吗A单应用同时在线约 10 人日常展示完全够用如果需要更高并发可升级到付费版每月 $9 起。Q能绑定自定义域名吗A免费版不支持付费版可绑定自己的域名如https://yourname.com。六、总结Streamlit Community Cloud 是新手部署 Streamlit 应用的「最优解」核心流程可总结为规整文件结构 精简依赖避坑核心上传代码到 GitHub登录 Streamlit Cloud 一键部署复制公网链接即可分享。整个过程无需懂服务器、无需敲复杂命令只要抓住「精简依赖、规范路径」两个核心10 分钟就能从本地代码变成全网可访问的应用。希望这篇教程能帮到你快去部署自己的 Streamlit 应用吧