Streamlit:几行 Python 把数据脚本变成网页应用
Streamlit:几行 Python 把数据脚本变成网页应用
streamlit 在 GitHub 上已经拿到 44,797 Star 了。
用纯 Python 写数据工具的人都会碰到同一个问题:分析做完了,怎么让别人也能用?做成网页得写前后端,部署又麻烦。Streamlit 解决的就是这件事:把 Python 数据脚本直接变成可交互的网页应用,不需要写 HTML、CSS 或 JavaScript。
1、这玩意儿是干嘛的
一句话:让你的 Python 数据分析脚本变成别人能点开用的网页 App。
你写了数据可视化的代码,Streamlit 帮你把它变成一个网页。用户拖滑块、选下拉框、点按钮,数据实时变化,图表跟着更新。整个过程不需要前端知识,纯 Python 搞定。

2、为什么用它
做过数据产品的人知道那种断层。Jupyter Notebook 里图表画得再漂亮,给别人看要么截图,要么让他装环境跑一遍。做成 Dash 或 Flask 应用又得写一堆样板代码,光布局和回调就能耗掉半天。
Streamlit 把这个断层填上了。它把写 Python 脚本到得到一个网页应用之间的距离缩到了最短。几行代码就有一个带交互控件的页面,而且每次保存文件页面自动刷新,不需要手动重启服务器。
3、代码长什么样
一个最简单的例子:
import streamlit as st
x = st.slider('Select a value')
st.write(x, 'squared is', x * x)
三行代码,页面上出现一个滑块,拖动它,右边的计算值实时更新。不需要写 HTML 的 input 标签,不需要写 JavaScript 的事件监听,Streamlit 帮你全处理了。
更复杂的场景也一样省力。Streamlit 官方有一个自动驾驶汽车数据集浏览器的 Demo,包含 YOLO 实时目标检测,整个应用不到 300 行 Python,Streamlit 的 API 调用只有 23 个。

4、安装使用
pip install streamlit
streamlit hello
跑完这两行命令,一个示例页面就在浏览器里打开了。然后你就可以写自己的 app.py,用 streamlit run app.py 运行。
写完的 App 可以部署到 Streamlit Community Cloud,免费托管。社区里已经积累了大量的 App 案例和讨论,遇到问题直接搜基本都能解决。
5、适合哪些人用
- 做数据分析或机器学习、想让结论被团队里其他人交互式探索的工程师
- 需要快速搭建内部工具原型的数据团队
- 想用 Python 做仪表盘但不想折腾前端框架的后端开发者
Streamlit 做工具原型和内部面板这件事,确实快。
hon 做仪表盘但不想折腾前端框架的后端开发者
Streamlit 做工具原型和内部面板这件事,确实快。
更多推荐

所有评论(0)