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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 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

相关文章
|
4月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
714 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
4月前
|
机器学习/深度学习 算法 量子技术
GQNN框架:让Python开发者轻松构建量子神经网络
为降低量子神经网络的研发门槛并提升其实用性,本文介绍一个名为GQNN(Generalized Quantum Neural Network)的Python开发框架。
84 4
GQNN框架:让Python开发者轻松构建量子神经网络
|
2月前
|
前端开发 JavaScript 开发者
JavaScript:构建动态Web的核心力量
JavaScript:构建动态Web的核心力量
|
6月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
3月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
584 1
|
5月前
|
数据采集 数据可视化 JavaScript
用Python采集CBC新闻:如何借助海外代理IP构建稳定采集方案
本文介绍了如何利用Python技术栈结合海外代理IP采集加拿大CBC新闻数据。内容涵盖使用海外代理IP的必要性、青果代理IP的优势、实战爬取流程、数据清洗与可视化分析方法,以及高效构建大规模新闻采集方案的建议。适用于需要获取国际政治经济动态信息的商业决策、市场预测及学术研究场景。
|
5月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
5月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
156 1
|
5月前
|
数据采集 Web App开发 自然语言处理
利用Python构建今日头条搜索结果的可视化图表
利用Python构建今日头条搜索结果的可视化图表

推荐镜像

更多
下一篇
开通oss服务