Streamlit 新手入门教程
Streamlit 新手入门教程从环境搭建到实战开发本教程专为编程新手设计全程覆盖Conda 环境部署、VSCode 开发配置并清晰讲解 Streamlit 的核心作用最终通过实战案例让你快速掌握这个工具的使用。一、先搞懂Streamlit 到底是什么有什么用1. 核心定义Streamlit 是一款面向数据从业者的低代码 Web 应用框架能让你用纯 Python 代码快速构建可交互的 Web 应用无需写任何 HTML/CSS/JS 前端代码。2. 核心作用新手视角你可以把它理解为Python 数据代码的“可视化外壳”核心价值是快速变现代码把你的 Python 脚本数据分析、AI 模型、自动化工具变成“能给别人用的网页”适配数据场景原生支持 Matplotlib/Plotly/Seaborn 等可视化库一行代码渲染交互式图表⚡极致高效开发调试运行全流程秒级响应修改代码后页面自动刷新热重载零部署门槛支持免费云端部署Streamlit Cloud几分钟就能让全球用户访问你的应用。3. 适合新手的典型场景把 Excel 报表改成“可交互的数据看板”给你的 Python 小工具比如故事生成器、文件转换器做可视化界面快速演示 AI/机器学习模型比如输入文本→生成结果开发轻量内部工具比如数据导出、日志查询。4. 对比传统方式新手易懂版开发方式所需技能开发周期部署难度传统 Web 应用Python HTML/CSS/JS 框架几天~几周高Streamlit 应用仅需 Python几分钟~几小时低二、第一步用 Conda 搭建 Streamlit 环境Conda 能隔离不同项目的依赖避免版本冲突是新手最稳的环境管理方式。前置条件已安装 Anaconda/Miniconda下载地址https://docs.conda.io/en/latest/miniconda.html。步骤 1打开终端/Anaconda PromptWindows打开「Anaconda Prompt」macOS/Linux打开系统终端。步骤 2创建专属 Conda 环境# 创建名为 streamlit-learn 的环境指定 Python 3.10兼容性最佳conda create-nstreamlit-learnpython3.10-y-n streamlit-learn环境名称可自定义-y自动确认安装无需手动回车。步骤 3激活环境# Windowsconda activate streamlit-learn# macOS/Linuxsourceactivate streamlit-learn激活成功后终端开头会显示(streamlit-learn)表示进入该环境。步骤 4安装 Streamlit# 安装稳定版 Streamlit指定版本避免兼容问题pipinstallstreamlit1.32.0-ihttps://pypi.tuna.tsinghua.edu.cn/simple pipinstallplotly matplotlib# 验证安装输出版本号即成功streamlit--version三、第二步VSCode 配置 Streamlit 开发环境VSCode 是轻量且易用的编辑器完美适配 Streamlit 开发。步骤 1打开 VSCode 并安装插件安装必备插件左侧扩展栏搜索Python微软官方提供代码补全、解释器识别Streamlit由 Streamlit 官方提供语法高亮、快捷运行。步骤 2创建项目文件夹在电脑任意位置新建文件夹比如streamlit-tutorial打开 VSCode → 点击「文件」→「打开文件夹」→ 选择新建的文件夹。步骤 3配置 Python 解释器关键按下CtrlShiftPmacOSCmdShiftP输入「Python: Select Interpreter」→ 回车选择刚才创建的 Conda 环境streamlit-learn路径通常包含conda/envs/streamlit-learn。步骤 4测试 VSCode 运行 Streamlit在项目文件夹中新建文件hello.py写入以下测试代码importstreamlitasst# 标题st.title( 我的第一个 Streamlit 应用)# 文本st.write(这是用 VSCode Conda 开发的 Streamlit 新手教程)# 交互按钮ifst.button(点击我):st.success(恭喜环境配置成功 ✨)运行方式二选一方式 1推荐VSCode 终端运行打开 VSCode 终端「终端」→「新建终端」确保终端显示(streamlit-learn)未激活则重新执行conda activate streamlit-learn执行命令streamlit run hello.py方式 2右键运行安装 Streamlit 插件后右键代码编辑区 → 选择「Run Streamlit App」。步骤 5访问应用运行成功后终端会输出访问地址通常是http://localhost:8501浏览器自动打开点击按钮能看到成功提示即配置完成。四、第三步Streamlit 核心语法新手必学以下是 Streamlit 最常用的核心组件逐行讲解复制即可运行。新建文件basic_components.py写入以下代码importstreamlitasstimportpandasaspdimportmatplotlib.pyplotasplt# -------------------------- 1. 基础文本组件 --------------------------st.title( Streamlit 核心组件演示)# 主标题st.subheader(新手必学的基础功能)# 副标题st.divider()# 分隔线st.write(这是最通用的文本展示组件支持Markdown语法)# 通用文本st.markdown(**加粗文本** | *斜体文本* | [链接](https://streamlit.io))# Markdown# -------------------------- 2. 交互输入组件 --------------------------st.sidebar.header( 侧边栏输入区)# 侧边栏常用作参数配置namest.sidebar.text_input(你的名字,placeholder请输入)agest.sidebar.slider(你的年龄,min_value0,max_value100,value18)hobbyst.sidebar.selectbox(你的爱好,[阅读,编程,运动,音乐])# 展示输入结果st.subheader( 你的输入结果)st.write(f姓名{name}年龄{age}爱好{hobby})# -------------------------- 3. 按钮与逻辑控制 --------------------------ifst.button(✅ 确认提交,typeprimary):st.success(f你好{name}喜欢{hobby}的你{age}岁正是学习的黄金时期)# -------------------------- 4. 数据可视化 --------------------------st.divider()st.subheader( 数据可视化)# 生成测试数据dfpd.DataFrame({月份:[1月,2月,3月,4月],阅读量:[120,180,90,210],编程时长:[80,150,100,190]})# 展示表格st.dataframe(df,use_container_widthTrue)# 绘制图表fig,axplt.subplots()ax.plot(df[月份],df[阅读量],label阅读量,colorred)ax.plot(df[月份],df[编程时长],label编程时长,colorblue)ax.legend()st.pyplot(fig)# 渲染Matplotlib图表# -------------------------- 5. 文件下载组件 --------------------------st.divider()st.subheader( 文件下载)# 导出上述DataFrame为CSVcsv_contentdf.to_csv(indexFalse,encodingutf-8-sig)st.download_button(label导出CSV文件,datacsv_content,file_name数据报表.csv,mimetext/csv)运行效果执行streamlit run basic_components.py你会看到左侧主区域展示文本、输入结果、图表右侧侧边栏输入框、滑块、下拉框新手常用作参数配置支持一键导出数据为CSV文件。五、第四步实战案例——简易数据看板新手能跑结合以上知识点开发一个极简的数据看板体现 Streamlit 的核心价值。新建文件data_dashboard.pyimportstreamlitasstimportpandasaspdimportplotly.expressaspximportrandom# 页面配置st.set_page_config(page_title简易数据看板,layoutwide)# 标题st.title( 电商销售数据看板)st.divider()# 1. 模拟加载数据新手可替换为本地CSVpd.read_csv(sales.csv)st.cache_data# 缓存数据提升性能defload_data():datapd.DataFrame({日期:pd.date_range(start2026-01-01,periods30),销售额:[round(random.uniform(1000,5000),2)for_inrange(30)],订单数:[round(random.uniform(50,200),0)for_inrange(30)],品类:[random.choice([电子产品,服装,食品,家居])for_inrange(30)]})returndata dfload_data()# 2. 侧边栏筛选条件st.sidebar.header(筛选条件)categoryst.sidebar.multiselect(选择品类,df[品类].unique(),defaultdf[品类].unique())min_salesst.sidebar.slider(最低销售额,min_value1000,max_value5000,value1000)# 3. 数据筛选filtered_dfdf[(df[品类].isin(category))(df[销售额]min_sales)]# 4. 多列布局展示核心指标col1,col2,col3st.columns(3)withcol1:st.metric(总销售额,f¥{filtered_df[销售额].sum():,.2f})withcol2:st.metric(总订单数,f{int(filtered_df[订单数].sum())})withcol3:st.metric(平均客单价,f¥{filtered_df[销售额].sum()/filtered_df[订单数].sum():,.2f})# 5. 可视化图表双列布局st.divider()col4,col5st.columns(2)withcol4:st.subheader(销售额趋势)fig1px.line(filtered_df,x日期,y销售额,title每日销售额)st.plotly_chart(fig1,use_container_widthTrue)withcol5:st.subheader(品类销售额分布)fig2px.pie(filtered_df,values销售额,names品类,title各品类占比)st.plotly_chart(fig2,use_container_widthTrue)# 6. 原始数据展示st.divider()st.subheader(原始数据)st.dataframe(filtered_df,use_container_widthTrue)运行与体验先安装依赖pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple运行streamlit run data_dashboard.py体验通过侧边栏筛选品类、最低销售额看板会实时更新——这就是 Streamlit 最核心的“交互数据分析”能力。六、第五步一键部署到 Streamlit Cloud免费开发完成后可免费部署到 Streamlit Cloud让任何人通过链接访问你的应用。步骤 1准备 GitHub 仓库注册 GitHub 账号https://github.com创建新仓库比如streamlit-dashboard将你的.py文件上传到仓库可直接在 GitHub 网页端上传。步骤 2部署到 Streamlit Cloud访问 https://share.streamlit.io/用 GitHub 账号登录点击「New app」选择你的 GitHub 仓库、分支、要运行的.py文件点击「Deploy」等待 1-2 分钟即可获得公开访问链接。七、新手核心总结1. Streamlit 核心价值核心定位数据类 Web 应用的低代码框架不是“单纯的界面工具”核心优势纯 Python 开发、快部署、适配数据可视化和交互分析核心场景数据看板、AI 原型演示、轻量工具开发。2. 环境与开发关键Conda创建独立环境conda create→conda activate避免依赖冲突VSCode必须选择正确的 Conda 解释器否则运行报错运行命令streamlit run 文件名.py是启动应用的唯一入口。3. 新手避坑确保终端激活了目标 Conda 环境再运行 Streamlit代码中路径使用相对路径避免部署时找不到文件通过本教程你已掌握 Streamlit 从环境搭建到实战开发、部署的全流程。建议先复刻案例再逐步修改成自己的工具——Streamlit 的核心就是“快速试错、快速迭代”。

相关新闻

OpenClaw:详细的小白安装教程及避坑指南

OpenClaw:详细的小白安装教程及避坑指南

这只🦞在春节期间火起来,而且热度不减,已经是Github上获得星数最多的项目。 就在近日,OpenClaw 超越了 React、Linux,成为 GitHub 上 Star 量最多的非资源/教程类开源软件项目。 今天就实操Windows安装OpenClaw最新版…

2026/7/3 7:04:00 阅读更多 →
【DataGrip】Connection refused to host: 127.0.0.1;

【DataGrip】Connection refused to host: 127.0.0.1;

连接数据库报错java.lang.RuntimeException: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection timed out: connect in ExceptionUtil.rethrow(ExceptionUtil.java:136) Caused by: java.rmi.C…

2026/5/17 11:56:18 阅读更多 →
ElasticSearch查询实例等记录

ElasticSearch查询实例等记录

查询实例:1.type:xxx,value:xxx{"size": 0,"query": {"bool": {"must": [{"term": {"内容": "资产/负债"}}]}},"aggs": {"3": {&quo…

2026/7/2 22:49:32 阅读更多 →

最新新闻

Gopeed下载器:你的全平台多协议下载终极解决方案

Gopeed下载器:你的全平台多协议下载终极解决方案

Gopeed下载器:你的全平台多协议下载终极解决方案 【免费下载链接】gopeed A fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter. 项目地址: https://gitcode.com/GitHub_Trending/go/gopee…

2026/7/3 7:03:53 阅读更多 →
企业级开源安全利器,整合漏洞管理、基线检查,威胁狩猎、情报联动,适配政企服务器安全运维

企业级开源安全利器,整合漏洞管理、基线检查,威胁狩猎、情报联动,适配政企服务器安全运维

0x01 工具介绍 MxCwpp是一款企业级开源安全利器,聚焦政企服务器安全运维场景。平台深度整合漏洞管理、合规基线检查、威胁狩猎、威胁情报联动核心能力,支持主机与容器全维度安全防护,内置丰富合规规则与检测策略,可实现风险发现、…

2026/7/3 7:01:53 阅读更多 →
ChatGPT批量任务处理全链路优化(从Prompt批量化到结果结构化校验)

ChatGPT批量任务处理全链路优化(从Prompt批量化到结果结构化校验)

更多请点击: https://kaifayun.com 第一章:ChatGPT批量任务处理的范式演进与核心挑战 从早期单次API调用的手动编排,到如今基于异步队列、批处理中间件与智能重试策略的工程化流水线,ChatGPT批量任务处理正经历从“脚本式运维”向…

2026/7/3 6:59:52 阅读更多 →
ModernFlyouts终极指南:5分钟打造现代化Windows控制面板

ModernFlyouts终极指南:5分钟打造现代化Windows控制面板

ModernFlyouts终极指南:5分钟打造现代化Windows控制面板 【免费下载链接】ModernFlyouts A modern Fluent Design replacement for the old Metro themed flyouts present in Windows. 项目地址: https://gitcode.com/gh_mirrors/mo/ModernFlyouts 厌倦了Win…

2026/7/3 6:59:52 阅读更多 →
2024年VTubeStudio插件开发生态全景:WebSocket API架构与多语言集成技术栈深度解析

2024年VTubeStudio插件开发生态全景:WebSocket API架构与多语言集成技术栈深度解析

2024年VTubeStudio插件开发生态全景:WebSocket API架构与多语言集成技术栈深度解析 【免费下载链接】VTubeStudio VTube Studio API Development Page 项目地址: https://gitcode.com/gh_mirrors/vt/VTubeStudio 技术生态演化:从实时交互到插件化…

2026/7/3 6:57:51 阅读更多 →
AI Coding 的底层框架:一切优化都是在对抗熵增

AI Coding 的底层框架:一切优化都是在对抗熵增

导读 为什么 Prompt 写得再细,AI 还是会输出奇怪的结果?为什么新项目 AI 很好用,历史业务却总是翻车?本文作者从信息论出发,用一个简单的框架帮你拆解 AI Coding 里的种种困惑——当你不再跟着新概念焦虑,而…

2026/7/3 6:55:51 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻