前言
在微信的订阅号文章中偶然看到了一篇对于streamlit的介绍,因为此库对于学习过javaweb和pythonweb开发的我来说,我个人认为比起python的flask等框架来说,streamlit 能够快速开发web程序用于开发安全扫描工具提供了极大的便利,在看到它的应用后,让我眼前一亮.
1. 什么是streamlit?
streamlit是一个专为数据科学家设计的开源python库,它通过提供直观的api简化了将数据分析脚本转化为完全功能的web应用的过程。
使用streamlit,开发者可以轻松地添加交互式组件,如滑块、下拉菜单和文本输入框,以收集用户输入,同时能够动态地展示图表、图像、数据表格和文本,从而创建出既美观又实用的数据驱动应用。
streamlit的应用范围广泛,从快速原型开发到复杂的数据仪表板,都可以通过它来实现,极大地提高了开发效率并降低了技术门槛。
2. streamlit的原理
streamlit的工作原理基于python的jupyter notebook。它通过将python脚本转换为交互式web应用,让复杂的数据处理和分析过程变得可视化和可交互。streamlit应用的运行依赖于一个简单的web服务器,这使得它易于部署和分享。
jupyter notebook 可以理解为笔记应用,每一段代码之间,可以独立运行下面用anaconda中内置的工具做个 jupyter notebook 演示.
如下图所示,随便用我写的两个小demo进行演示:, jupyter notebook 可以分别对代码片段进行运行,是数据分析科学家常常用的工具,当然本篇介绍的不是这个,也就简单介绍一下,可以运行不同的代码片段,并将运行的结果,包括数据,表格,甚至图表以及第三方库例如pandas、matplotlib、seaborn、pyecharts等的效果也可进行展示,因此广为使用.
2.1 demo1-运行计时程序
import time def main(): # 记录开始时间 start_time = time.time() time.sleep(2) # 模拟耗时2秒的任务 # 记录结束时间 end_time = time.time() # 计算并打印执行时间 print(f"程序运行时间: {end_time - start_time} 秒") if __name__ == "__main__": main()
2.2 demo2-随即密码生成器
import random import string def generate_password(length=10): # 定义密码字符集,包括大小写字母和数字 characters = string.ascii_letters + string.digits # 使用random.choices随机选择字符 password = ''.join(random.choices(characters, k=length)) return password # 生成并打印密码 password = generate_password() print("生成的随机密码是:", password)
3. 安装streamlit
3.1 安装方式一
直接进行dos命令安装,这种需要自己有配置好的python环境,这里我使用pycharm的专业版进行使用,当然社区版也是可以的,这里我使用了prowershell也就是管理员名令环境,如果遇到无法安装,也可自行在管理员窗口下运行.
安装streamlit非常简单,只需要一行命令:
pip install streamlit
3.2 安装方式二
3.2.1 安装 conda
- 前往 download anaconda distribution | anaconda ,选择与你操作系统(windows, mac 或 linux)对应的
conda
版本 - 下载安装器并运行,完成
conda
的安装
3.2.2 新建一个 conda 环境
现在你已经装好了 conda ,让我们来创建一个 conda 环境来管理所有 python 库依赖。
比如按照如下指令,使用 python 3.9 版本创建一个新的环境:
conda create -n stenv python=3.9
其中 create -n stenv
表示创建一个名为 stenv
的 conda 环境,而 python=3.9
会指定 conda 环境使用 3.9 版本的 python。
3.2.3 激活 conda 环境
要使用上一步刚创建好的名为 stenv
的 conda 环境,则需要使用如下的命令:
conda activate stenv
3.2.4 安装 streamlit 库
激活环境之后就是时候安装 streamlit
库了:
pip install streamlit
4. 启动示例 streamlit 应用
通过在命令窗口运行下面的命令即可进行测试
streamlit hello
出现下面的提示输入邮箱直接按空格置空即可
浏览器会弹出一个web应用窗口,说明安装成功
http://localhost:8501/
下面是streamlit自带的一些动画演示,很神奇,并且出乎我的意料
4.1 动画演示
这个应用程序展示了如何使用 streamlit 来构建很酷的动画。 它显示基于 julia 集的动画分形。使用滑块 调整不同的参数。
4.2 绘画演示
此演示演示了绘图和动画的组合 流光。我们正在一个循环中生成一堆随机数,用于 5 秒。享受!
4.3 映射演示
此演示演示如何使用st.pydeck_chart显示地理空间数据。
4.4 dataframe 演示
此演示演示如何使用 pandas dataframes 进行可视化。 (数据由联合国数据浏览器提供)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论