前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 ># [python 技巧] 快速掌握Streamlit: python快速原型开发工具

# [python 技巧] 快速掌握Streamlit: python快速原型开发工具

原创
作者头像
阿尔的代码屋
发布2024-12-24 00:12:45
发布2024-12-24 00:12:45
1090
举报

本文旨在快速上手python的streamlit库,包括安装,输入数据,绘制图表,基础控件,进度条,免费部署。

Streamlit,更快地帮你建构和分享数据应用! streamlit官网如是说, 在数据处理,数据展示,机器学习原型,AI原型展示等方面十分契合。当然咱们用来做一些简单的web应用也是完全没问题的,上手难度低,部署简单,且官方平台提供了免费的可公网访问Streamlit Sharing托管.

快速介绍一些Streamlit的特点

  • 和数据科学工具有很高集成度. Matplotlib, Pandas, Ploty, Altair等库,都很好地在streamlit中做了适配, 可以在应用中直接展示这些库生成的图表和数据,在很多相关学术论文中都可以看见streamlit的影子。
  • 易于部署. 可以通过很简单的命令就完成应用的部署,在任何地方都可以运行,本地,云服务器,也可以直接托管在官方的Streamlit Sharing.
  • 实时更新. Streamlit应用会实时更新,每当数据变化,应用也会自动更新。

0x00 安装

  • 确认咱的python版本在3.8以上
  • 使用pip直接进行安装 pip install streamlit OK, 安装就完毕了。 可以使用命令 streamlit hello
    streamlit hello
    streamlit hello

嗖~ streamlit自带的HelloWorld Demo就弹出来了,可以扒拉一下左边的demo。

0x01 编码之前

  • 在开始敲代码之前, 先来讲一个比较重要的点 -> 如何启动streamlit app脚本

不同于一般的python脚本, 可以通过python xxx.py的方式运行,streamlit需要使用python -m streamlit run xxx.py来运行。(streamlit run之后跟的脚本,甚至可以是github仓库链接, 比如:streamlit run https://github.com/Algieba-dean/ZhuGeHorary/blob/master/ZhuGeHorary_APP.py)

  • Streamlit会实时监测修改, 代码的改动在保存时,会同步更新到部署的App上.0x02 显示数据st.write()
  • st.write(),如果不知道用什么,那就用它准没错. 即使有st.table(),st.dataframe()没有什么特别的需求import streamlit as st import pandas as pd st.write("显示表格:") st.write(pd.DataFrame({ 'A列': 1, 2, 3, 4, 'B列': 101, 202, 303, 404 }))OK现在咱学会了最简单的数据展示
dataframe_show
dataframe_show

0x03 输入控件

st.text_input

  • 最简单的输入控件, 可以输入文本text = st.text_input("输入一些文字吧") st.write(text)
text_input_example
text_input_example

OK,会这俩,就已经可以完成很大一部分任务了。

0x04 高级控件

  • st.number_input数字输入number = st.number_input("输入一个0-100间的数字", min_value=0, max_value=100, step=1)
number_input_example
number_input_example
  • st.slider滑动块slider_number = st.slider(f"试着一口气滑到数字{number}", min_value=0, max_value=10000, value=0, 500)
    slider_example
    slider_example
  • st.file_uploader文件上传uploaded_file = st.file_uploader("上传一个数据文件", type='csv', 'txt')
    upload_file_example
    upload_file_example

0x05 进度条

  • st.progress 进度条import time st.write("计算模拟中……")

latest_iteration = st.empty()

bar = st.progress(0)

for i in range(100):

代码语言:txt
复制
latest\_iteration.text(f"迭代到{i+1}")
代码语言:txt
复制
bar.progress(i + 1)
代码语言:txt
复制
time.sleep(0.1)

st.write("模拟计算完毕!")

progress_bar_example
progress_bar_example

0x06 应用部署

  • 将代码上传到Github,并将其设为公共仓库
  • 用github账户登录streamlit share
  • 点击右上角的Create app
  • 点击Deploy a public app from GitHub中的Deploy now
  • 正确填入仓库信息, 脚本文件名, 自己配置一个可用的url
  • 点击Deploy
  • 然后经过等待,你的app就上线啦
deploy app
deploy app

结束

欢迎在这里留下你的app链接

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 快速介绍一些Streamlit的特点
  • 0x00 安装
  • 0x01 编码之前
  • 0x03 输入控件
  • 0x04 高级控件
  • 0x05 进度条
  • 0x06 应用部署
  • 结束
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档