streamlit

news2024/11/18 8:35:59

正常在学习一个新框架之前, 肯定要先调研下这个框架究竟能做些什么事吧?

但对于 streamlit 来说,请你相信我,这是一个你可以无脑去学习的框架,我之所以这么说,是因为我相信终有一天,你一定能用得上它。

如果你真的需要一些理由的话,那我随便给你举几个例子:

做数据分析的同学,想要把数据分析的成果做成应用展示给其他人,怎么办?
想做一些用户数据的收集,但某些公有平台又却仅有收集,没有对应的开发能力提供数据的处理与反馈,怎么办?
难道真的要为了这种简单的需求,去折腾 html + css + js + flask (or django) 吗?

这是大多数非专业开发者的痛点,也是 streamlit 这个框架流行开来的主要原因。

Streamlit 是一个用于机器学习、数据可视化的 Python 框架,它能几行代码就构建出一个精美的在线 app 应用。

它能做什么,取决于你想干什么?

streamlit 的功能强大,要学习的函数虽然多,但非常容易上手,学习成本却远比 前端+Flask 来得低得低。接下来,我会一一介绍。

  1. 如何安装?
    和安装其他包一样,安装 streamlit 非常简单,一条命令即可

➜ pip install streamlit
考虑到 streamlit 会附带安装比较多的工具依赖包,为了不污染当前的主要环境,我使用 venv 新建一个虚拟环境。

➜ python3 -m venv .
然后使用如下命令进入该虚拟环境

➜ source ./venv/bin/activate
接下来,再安装 streamlit ,命令在上边。

安装的包比较多(数了下竟然接近 92 个?),过程也会很久,需要点耐心

➜ pip list | wc -l
92
在安装过程中,可能会遇到一些问题,但也不一定,这取决于你的机器,如遇到问题请自行借助搜索引擎解决。

  1. 入门示例
    Streamlit 提供了一些入门示例,执行如下命令即可

➜ streamlit hello
执行后 streamlit 会自动打开浏览器加载一个本地页面 http://localhost:8501/

这里面有很多的 demo,你可以看一下,这些 Demo 还有对应的配套代码

这些代码直接拷贝保存,就可以在本地直接通过如下命令直接运行

➜ streamlit run st-demo.py
2. Markdown 文本
导入 streamlit 后,就可以直接使用 st.markdown() 初始化,调用不同的方法,就可以往文档对象中填入内容

st.title():文章大标题
st.header():一级标题
st.subheader():二级标题
st.text():文本
st.code():代码,同时可设置代码的语言,显示的时候会高亮
st.latex():latex 公式
st.caption():小字体文本
如下我自己写的一个小 Demo,供你参考

import streamlit as st

markdown

st.markdown(‘Streamlit Demo’)

设置网页标题

st.title(‘一个傻瓜式构建可视化 web的 Python 神器 – streamlit’)

展示一级标题

st.header(‘1. 安装’)

st.text(‘和安装其他包一样,安装 streamlit 非常简单,一条命令即可’)
code1 = ‘’‘pip3 install streamlit’‘’
st.code(code1, language=‘bash’)

展示一级标题

st.header(‘2. 使用’)

展示二级标题

st.subheader(‘2.1 生成 Markdown 文档’)

纯文本

st.text(‘导入 streamlit 后,就可以直接使用 st.markdown() 初始化’)

展示代码,有高亮效果

code2 = ‘’‘import streamlit as st
st.markdown(‘Streamlit Demo’)’‘’
st.code(code2, language=‘python’)
Streamlit 运行的方式 与普通的脚本 有所不同,应该使用 streamlit run st-demo.py

运行后就会自动打开浏览器加载这个页面,如果没有自动打开,也可以手动拷贝上图中的链接打开访问。

是不是有点那个味了?就这,还只是开胃菜~

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

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

相关文章

【算法学习系列】04 - 由01不等概率随机实现01等概率随机

文章目录 约定条件说明解决方案思路说明实现代码 验证方案 约定条件说明 存在函数 unequalP_01() 不等概率返回 0 和 1。只能通过函数 unequalP_01() 来实现 01 等概率随机函数 equalP_01() 解决方案 为了能够验证最后的等概率随机,这里先把函数 unequalP_01() 实现…

美颜SDK设计思路与架构分析:如何实现高可定制化

当下,美颜SDK也成为了移动应用开发中的必备工具之一。在实际应用中,不同的应用场景需要不同的美颜效果,因此如何实现高可定制化的美颜SDK就成为了一个重要的技术问题。 一、美颜SDK的设计思路 美颜SDK的设计思路需要考虑以下几个方面&…

Vivado 下 AD9767 双通道正弦波产生例程

Vivado 下 AD9767 双通道正弦波产生例程 1、实验简介 本实验基于 Xinlinx 黑金 AX7A035 FPGA 开发板, 练习使用 AN9767 模块,实验中使用的模块是采用 ANALOG DEVICES 公司的 AD9767 芯 片,支持独立双通道、14 位、 125MSPS 的数模转…

金币商城功能迭代. 使用版本号解决数据的并发修改问题

前言. 公司的商城模块嵌在微信公众号里面, 商城里面除了少量的现金业务, 大头在金币业务里面, 商城本来就是用来增加客户粘度的, 金币是客户通过某些行为免费获得如注册, 绑定,推荐等 需求. 金币方面之前的设计: 1.金币只有一个流水表,消费为负,获取为正 2.并且…

github上有什么好的node.js的项目?

前言 可以参考一下下面的nodejs相关的项目,希望对你的学习有所帮助,废话少说,让我们直接进入正题 1、 NodeBB Star: 13.3k 一个基于Node.js的现代化社区论坛软件,具有快速、可扩展、易于使用和灵活的特点。它支持多种数据库&am…

驱动开发:通过应用堆实现多次通信

在前面的文章《驱动开发:运用MDL映射实现多次通信》LyShark教大家使用MDL的方式灵活的实现了内核态多次输出结构体的效果,但是此种方法并不推荐大家使用原因很简单首先内核空间比较宝贵,其次内核里面不能分配太大且每次传出的结构体最大不能超…

jvm之GC

写在前面 本文一起看下GC相关的内容。 1:GC基础内容 1.1:为什么要有GC 内存资源的稀缺性,以及内存管理的复杂性,决定了需要有垃圾回收器这样的角色来帮助我们管理内存资源,避免手动管理带来的内存不能得到正常释放…

普源DS1102Z-E示波器,100MHz带宽

DS1000Z-E系列数字示波器是RIGOL基于主流需求而设计的,电商专供款高性能经济型数字示波器,具备100MHz带宽和1GSa/s采样率,搭载RIGOL独创的UltraVision技术平台,更深的储存(标配达24 Mpts),高达30,000 wfms/…

解决基于kvm的win10虚拟机只识别2个cpu的问题

在使用kvmqemu创建win10虚拟机的时候,发现尽管我在virt manager里面指定了72个vcpu,但是win10里面只识别2个cpu核心的现象。 如图所示: 虚拟系统管理器里面当时是这样设置的: 这个时候,对应的xml文件内,关…

【深度学习】离线安装Python及相关第三方库

如果对方电脑无法联网。 那么需要在可以联网的电脑上进行如下操作,随后将整个文件包传输到对方电脑,实现环境配置。 Python 先给离线电脑安装Python初始环境 https://www.python.org/downloads/ 这里我选择下载了Python3.7.8 https://www.python.org…

如何用python在微信公众号上添加自己的ChatGPT

由于之前chatgpt的火热,现在很多微信公众号都接入了chatgpt的接口,来给自家公众号增添一丝乐趣,下面我以自己的经验,用python在微信公众上添加自己的chatGPT,先看下方成果图 三步曲 申请自己的公众号部署服务接入chat…

如何用国产DBDesginer软件进行数据库建模设计?

我们在开发软件系统之前都需要进行数据结构的建模设计,传统的都是通过PowerDesiger等国外的软件或直接Excel来进行数据库表结构设计,今天来了解一下如何使用国产软件来进行数据库建模设计 1、首先是注册DBDesigner用户( http://dbdesigner.n…

用蹩脚英语在StackOverflow上飞奔:如何在一个RestApi接口中调用另一个RestApi文件接口发送上传文件请求

上班摸鱼、下班干活,日常埋坑、加班填坑——这是我的搬砖,亦是在座的各位! 昨天在StackOverflow上面闲逛,突然看到一个国际友人提出了一个问题,他发出了好久都没有人来回答,本着在下为人处世乐善好施、广结…

视频flv怎么转换成mp4格式?

视频flv怎么转换成mp4格式?关于视频格式转换这个问题,小编发现,就算不是从事视频编辑的朋友也有可能经常会遇到这种转换操作,为什么会这样呢?原因主要是因为视频格式的种类真的非常多,多到我们数不清&#…

软件测试之自动化测试

目录 一、初试自动化测试 1.自动化测试的分类(简单了解) 2.如何实施自动化单元测试 二、selenium 介绍(重点内容) 1.工作原理 2.Selenium 环境搭建 2.1 Chrome java 2.2 常见问题及解决方案 1.元素的定位 1.1 CSS 定位…

sonarqube分析仓库

sonarqube可以有多种方式分析仓库 使用GitlabCI 设置项目编码 添加环境变量 创建或修改配置文件 sonarqube-check:image: name: sonarsource/sonar-scanner-cli:latestentrypoint: [""]variables:SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defi…

GE H201Ci-1 单通道变压器控制单元

HYDRAN 201Ci-1一个标准模拟输出通道控制器非隔离,跳线可配置为0-l mA 一个遥控电子控制器或4-20 mA(最大输出10 V)、0-1 V或0-10 V;0-2000 ppm范围 HYDRANR 201Ti智能变送器;它提供网络通信能力 第二个可选模拟输出加…

基于Web的智慧产业园区3D可视化运营管理平台

改革开放以来,园区逐渐成为地区招商引资、储备人才的重要途径。我国社会、经济处于快速发展阶段,园区正向着智慧化、创、科技化转变。 建设背景 在人类的历史发展过程中,随着5G、人工智能、云计算、物联网、GIS等新一轮信息技术的迅速发展&…

Jenkins流水线整合k8s实现代码自动集成和部署

一、前置条件 1、安装好k8s集群 这里先要搭建好一个K8s集群,笔者这边就采用使用了一个一主一丛的k8s集群,k8s集群的版本使用1.19.5版本,服务器的配置:2核4G,操作系统: CentOS Linux release 7.9.2009 (Core) 主机名…

Rabbitmq 下载与安装

文章目录 说明1、下载Erlan2、下载对应的rabbitmq 说明 Rabbitmq依赖于Erlan 对应版本查看:https://www.rabbitmq.com/which-erlang.html 这里版本使用: Rabbitmq 3.9.11 Erlan 24.1.7 1、下载Erlan https://www.erlang.org/patches/otp-24.1.7 安装完…