原创声明:文章首发地址:https://blog.csdn.net/weixin_72543266/article/details/140964131,本文是由本作者在CSDN的首发后搬运而来,不存在抄袭.
前言
在微信的订阅号文章中偶然看到了一篇对于streamlit的介绍,因为此库对于学习过Javaweb和pythonweb开发的我来说,我个人认为比起python的flask等框架来说,streamlit 能够快速开发web程序用于开发安全扫描工具提供了极大的便利,在看到它的应用后,让我眼前一亮.
什么是Streamlit?
Streamlit是一个专为数据科学家设计的开源Python库,它通过提供直观的API简化了将数据分析脚本转化为完全功能的Web应用的过程。使用Streamlit,开发者可以轻松地添加交互式组件,如滑块、下拉菜单和文本输入框,以收集用户输入,同时能够动态地展示图表、图像、数据表格和文本,从而创建出既美观又实用的数据驱动应用。Streamlit的应用范围广泛,从快速原型开发到复杂的数据仪表板,都可以通过它来实现,极大地提高了开发效率并降低了技术门槛。
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)
安装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
启动示例 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 进行可视化。 (数据由联合国数据浏览器提供。st.write