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

 更新时间:2025年04月23日 10:06:04   作者:XError_xiaoyu  
这篇文章主要介绍了streamlit(python构建web)之环境搭建过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

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

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 进行可视化。 (数据由联合国数据浏览器提供)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python Pyecharts绘制箱线图详解

    Python Pyecharts绘制箱线图详解

    箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。本文将通过Python Pyecharts来绘制一些箱线图,需要的可以参考一下
    2022-03-03
  • Python实现邮件的批量发送的示例代码

    Python实现邮件的批量发送的示例代码

    下面小编就为大家分享一篇Python实现邮件的批量发送的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 在pycharm中无法import所安装的库解决方案

    在pycharm中无法import所安装的库解决方案

    这篇文章主要介绍了在pycharm中无法import所安装的库解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • opencv 形态学变换(开运算,闭运算,梯度运算)

    opencv 形态学变换(开运算,闭运算,梯度运算)

    这篇文章主要介绍了opencv 形态学变换(开运算,闭运算,梯度运算),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python获取本地计算机名字的方法

    python获取本地计算机名字的方法

    这篇文章主要介绍了python获取本地计算机名字的方法,涉及Python获取本地计算机信息的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-04-04
  • python空值判断方式(if xxx和if xxx is None的区别及说明)

    python空值判断方式(if xxx和if xxx is None的区别及说明

    这篇文章主要介绍了python空值判断方式(if xxx和if xxx is None的区别及说明),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 利用Python多处理库处理3D数据详解

    利用Python多处理库处理3D数据详解

    本文将介绍处理大量数据时非常方便的工具,例如tqdm与 multiprocessing​imap​​一起使用、并行处理档案、绘制和处理3D数据等,感兴趣的小伙伴可以了解一下
    2021-12-12
  • pyecharts绘制时间轮播图柱形图+饼图+玫瑰图+折线图

    pyecharts绘制时间轮播图柱形图+饼图+玫瑰图+折线图

    这篇文章主要介绍了pyecharts绘制时间轮播图柱形图+饼图+玫瑰图+折线图,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • python使用自定义user-agent抓取网页的方法

    python使用自定义user-agent抓取网页的方法

    这篇文章主要介绍了python使用自定义user-agent抓取网页的方法,涉及Python使用urllib2模块操作网页的技巧,需要的朋友可以参考下
    2015-04-04
  • python爬虫Mitmproxy安装使用学习笔记

    python爬虫Mitmproxy安装使用学习笔记

    这篇文章主要介绍了python爬虫Mitmproxy学习笔记分享,有需要的朋友可以收藏学习下,希望可以对你有所帮助,大家一起共同学习,共同进步
    2021-09-09

最新评论