streamlit (python构建web)之环境搭建

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: 在微信订阅号中发现了一篇关于Streamlit的文章,激发了我的兴趣。Streamlit是一款专为数据科学家设计的开源Python库,能迅速将数据分析脚本转变为功能完备的Web应用。它简化了开发流程,支持轻松添加交互组件及动态展示图表、图像等,非常适合开发安全扫描工具。Streamlit基于Jupyter Notebook原理,通过Python脚本创建可视化和交互式的Web应用,易于部署分享。安装方法多样,可通过`pip install streamlit`快速安装,或通过Anaconda环境管理依赖。启动示例应用只需运行简单命令,即可体验自带的动画、绘图和数据展示等功能。

image.png

原创声明:文章首发地址:https://blog.csdn.net/weixin_72543266/article/details/140964131,本文是由本作者在CSDN的首发后搬运而来,不存在抄袭.
image.png

前言

    在微信的订阅号文章中偶然看到了一篇对于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 演示.
    

- image.png

    如下图所示,随便用我写的两个小demo进行演示:,  Jupyter Notebook 可以分别对代码片段进行运行,是数据分析科学家常常用的工具,当然本篇介绍的不是这个,也就简单介绍一下,可以运行不同的代码片段,并将运行的结果,包括数据,表格,甚至图表以及第三方库例如Pandas、Matplotlib、Seaborn、Pyecharts等的效果也可进行展示,因此广为使用.

​​​​​​image.png

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)
  1. 安装Streamlit
    3.1 安装方式一

     直接进行dos命令安装,这种需要自己有配置好的python环境,这里我使用PyCharm的专业版进行使用,当然社区版也是可以的,这里我使用了prowershell也就是管理员名令环境,如果遇到无法安装,也可自行在管理员窗口下运行.
    
     安装Streamlit非常简单,只需要一行命令:
    
pip install streamlit

image.png

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
  1. 启动示例 Streamlit 应用
    通过在命令窗口运行下面的命令即可进行测试

    streamlit hello
    
     出现下面的提示输入邮箱直接按空格置空即可                         
    

    image.png

浏览器会弹出一个web应用窗口,说明安装成功

http://localhost:8501/

image.png

                    下面是streamlit自带的一些动画演示,很神奇,并且出乎我的意料 

4.1 动画演示
这个应用程序展示了如何使用 Streamlit 来构建很酷的动画。 它显示基于 Julia 集的动画分形。使用滑块 调整不同的参数。
image.png

4.2 绘画演示
此演示演示了绘图和动画的组合 流光。我们正在一个循环中生成一堆随机数,用于 5 秒。享受!

image.png

4.3 映射演示
此演示演示如何使用st.pydeck_chart显示地理空间数据。
image.png

4.4 DataFrame 演示
此演示演示如何使用 Pandas DataFrames 进行可视化。 (数据由联合国数据浏览器提供。st.write

image.png

相关文章
|
3天前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
15天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
15天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
42 3
|
20天前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
27 6
|
22天前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
22天前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
23 2
|
25天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
34 1
|
27天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
Java C语言 开发者
Python 环境搭建|学习笔记
快速学习 Python 环境搭建
109 0
|
15天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!