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

news2025/1/12 11:57:27

目录

前言

1. 什么是Streamlit?

2. Streamlit的原理

2.1 demo1-运行计时程序

2.2 demo2-随即密码生成器

3. 安装Streamlit

3.1 安装方式一

3.2 安装方式二

3.2.1 安装 conda¶

3.2.2 新建一个 conda 环境¶

3.2.3 激活 conda 环境¶

3.2.4 安装 Streamlit 库¶

4. 启动示例 Streamlit 应用

4.1 动画演示

4.2 绘画演示

4.3 映射演示

4.4 DataFrame 演示


 

前言

        在微信的订阅号文章中偶然看到了一篇对于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 进行可视化。 (数据由联合国数据浏览器提供。st.write

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1986150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序教程011-2:京西购物商城实战之TabBar实现

2、tabBar 2.0 创建tabBar分支 运行如下命令,基于master分支,创建本地tabBar子分支,用来开发和tabBar相关的功能 git checkout -b tabbar2.1 创建tabBar页面 在pages目录中,创建首页(home)、分类(cate)、购物车(cart)、我的(my)这4个tabBar页面,在HBuilderX中…

PADS文件与AD文件如何相互转换?

大家好,我是山羊君Goat。 在电子硬件设计中,常常用用到3款EDA设计软件:Altium Designer, Pads, cadence。 Altium Designer: 在高校中使用非常普遍(相信很多硬件工程师接触的第一款设计软件就是Altium Designer)&…

Python 用户输入和while循环

1、input()函数的工作原理(用户输入) input()函数让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其赋给变量,以其使用。 在input()函数接受一个参数,既要向用户显示的提示,为了…

Flink 实时数仓(八)【DWS 层搭建(二)流量域、用户域、交易域搭建】

前言 今天的任务是完成流量域最后一个需求、用户域的两个需求以及交易域的部分需求; 1、流量域页面浏览各窗口汇总表 任务:从 Kafka 页面日志主题读取数据,统计当日的首页和商品详情页独立访客数。 注意:一般我们谈到访客&…

广东省造林绿化施工丙级资质2024年9月开通申报

关于广东省造林绿化施工丙级资质2024年9月的申报情况,可以归纳如下: 一、申报时间 具体时间:2024年9月1日至9月30日。在此期间,相关企业可以在网上提交申请。 二、申报条件 资历和信誉 1、独立企事业法人资格:申请…

程序跟随系统主题色切换主题

如果程序要跟随系统主题色进行切换,需监听当前系统的主题色,下面介绍Windows和MacOS下获取当前系统主题的方法 Windows 系统切换主题 以win10为例,点击右键选择个性化,进入个性化页面,选择左侧颜色的Tab&#xff0c…

mp3格式转换器哪个好用?汇总七款音频格式转换方法(无损转换)

音乐已经成为我们生活中不可或缺的一部分。但是在播放的时候,可能会遇到音频格式不兼容的情况。特别是在一些下载站或音乐平台获取的音频,有些特殊格式在播放器上无法正常播放,一般这种情况我们需要借助mp3转换器解决。 mp3是一种常见的数字音…

三更的springsecurity课程个人笔记总计4万字,全部测试通过,代码cv即可

SpringSecurity b站 40.源码讲解部分说明_哔哩哔哩_bilibili BV1mm4y1X7Hc 以下全为个人总结,不能代表官方,有错误还请指出(全部测试通过)(1刷视频) 1-简介 tip 接下来的所有类不会包含import信息&am…

爬虫代理教程:爬虫代理池部署+高并发实现方法

在数据爬取的世界里,代理IP就像是爬虫的隐身衣,帮助我们在网络上自由穿梭,避免被目标网站识别封禁。今天我就来分享一下爬虫代理池的部署和高并发实现的技巧,希望能对大家有所帮助。 什么是爬虫代理池? 首先&#xf…

nginx下载安装及使用教程

一、打开下载官网:nginx 选择稳定版本(windows) 然后就是解压安装到指定目录下 二、启动nginx 使用cmd命令提示符进入,输入一下命令(注意:回车确认是会出现一闪,这是正常现象) 查看任务进程是否…

Flink学习之Flink SQL(补)

Flink SQL 1、SQL客户端 1.1 基本使用 启动yarn-session yarn-session.sh -d启动Flink SQL客户端 sql-client.sh--退出客户端 exit;测试 重启SQL客户端之后,需要重新建表 -- 构建Kafka Source -- 无界流 drop table if exists students_kafka_source; CREATE TABL…

SourceTree配置多个不同Remote地址的仓库

需求 在我们开发过程中,有可能需要拉取的地址仓库不在同一个仓库中,有些可能在Github上,有些可能在Gitlab上。 所以我们需要配置Github的仓库的配置和Gitlab仓库的配置。 现在,我们来配置两个不同的仓库的地址。 假设&#xf…

快速体验LLaMA-Factory 私有化部署和高效微调Llama3模型FAQ

序言 之前已经介绍了在超算互联网平台SCNet上使用异构加速卡AI 显存64GB PCIE,私有化部署Llama3模型,并对 Llama3-8B-Instruct 模型进行 LoRA 微调、推理和合并 ,详细内容请参考另一篇博客:快速体验LLaMA-Factory 私有化部署和高…

Android14音频进阶之命令行播放音频(八十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更…

SpringDI(依赖注入)的理解

目录 一、什么是SpringDI? 二、SpringDI(依赖注入)的作用是什么? 三、DI的实现方式 3.1 set注入 1.项目结构: 2.set注入对象 2.1applicationContext.xml: 2.2 Student 实体类 2.3 controller: 2.4 da…

SpringIOC容器对Bean管理

一、bean实例化 1.通过构造方法(默认) 2.通过工厂方法 3.通过静态工厂方法 项目结构: 1. 通过构造方法(默认) 1.1 pojo实体类: Student: public class Student {public Student() {System.out.println…

软件安全测试报告内容和作用简析,软件测试服务供应商推荐

在数字化时代,软件安全问题愈发凸显,安全测试显得尤为重要。软件安全测试报告是对软件系统在安全性方面进行评估和分析后的书面文件。该报告通常包含测试过程、测试发现、漏洞描述、风险评估及改进建议等重要信息。报告的目的是为了帮助开发团队及时发现…

各种排序算法【持续更新中.....】

1.归并排序 归并排序 ,归并排序是采用分治法(Divide and Conquer)的一个非常典型的应用,所以我们先来说一下什么是分治法。 分治法 定义 分治(英语:Divide and Conquer),字面上的解释是「分…

C++初阶大全

目录 一.命名空间 1.命名空间定义 2.命名空间使用 二.C输入&输出 三.缺省参数 四. 函数重载 五.引用 1.常引用 2.传值、传引用效率比较 3.引用和指针的区别 4.引用和指针的不同点: 小知识点: 六.内联函数 七.auto关键字(C11) 1.auto的使用细则 八.基于范围…

为何你的进销存系统买来却成了摆设?教你7大招解决!

我做企业数字化系统9年,调研的企业大大小小也有几十家了。我发现个挺扎心的现象:有三成企业买的进销存系统,最后都成了闲置的“高科技装饰品”。为啥这些企业舍得掏腰包,到头来却让它们吃灰呢? 说到底,就一…