Streamlit 简介

数据科学、数据分析和机器学习是过去几年的一些新兴领域。采用上述技术的应用程序开发数量大幅增加,Python 是开发此类应用程序的首选语言。

但是,仅仅为机器学习模型编写代码是不够的,因为普通人无法使用它。在这里,以任何人都可以轻松使用的方式部署我们的模型非常重要。有不同的选项,例如 Python 中的 Django 和 Flask 框架来部署我们的模型。在使用这些框架的同时,我们还需要了解使用HTML、CSS和JS构建前端的知识。 

如果我告诉你有一种更简单的方法可以做到这一点怎么办?

Streamlit是一个开源框架,不仅可以让您在几分钟内部署机器学习模型,还可以部署任何 Python 应用程序。它还允许我们管理并与其他人共享我们的应用程序。

听起来很令人兴奋,对吧?那么,让我们来探索一下 Streamlit!


安装

首先,让我们首先安装streamlit。这样做真的很容易。
您需要在计算机上安装Python 3.7-Python 3.10、Anaconda、PIP 和您最喜欢的 Python IDE 。然后,在 anaconda 终端中,只需运行以下命令即可安装streamlit

pip install streamlit

该命令仅适用于 Windows。要在 Mac 和 Linux 上安装 Streamlit,请参阅此处


在 Streamlit 中创建 Hello World 应用程序

现在我们已经安装了streamlit,让我们开始创建一个简单的“Hello World”应用程序。

该文件的名称是“ hello.py ”。

import streamlit as st
 
st.title("hello world")

要运行该应用程序,只需键入

streamlit run hello.py

该应用程序将在您的默认网络浏览器中运行http://localhost:8501/

输出:

Streamlit 你好词

Streamlit 中的文本元素

现在让我们看看 Streamlit 提供的一些文本元素。

元素 描述
标题 设置页面标题
标头 以标题格式显示文本
副标题 以副标题格式显示文本
降价 对文本使用 Markdown 格式
代码 将文本显示为具有适当语法突出显示的代码
乳胶 使用 Latex 显示数学方程
Streamlit 中的文本元素
import streamlit as st
 
# set the app's title
st.title("Text Elements")
 
# header
st.header("Header in Streamlit")
 
# subheader
st.subheader("Subheader in Streamlit")
 
# markdown
# display text in bold formatting
st.markdown("**AskPython** is an awesome website!")
# display text in italic formatting
st.markdown("Visit _askpython.com_ to learn from various Python tutorials.")
 
# code block
code = '''
def add(a, b):
    print("a+b = ", a+b)
'''
st.code(code, language='python')
 
# latex
st.latex('''
(a+b)^2 = a^2 + b^2 + 2*a*b
''')

输出:

Streamlit文本元素

在上面的代码中,我们首先导入了streamlit并添加了上表中讨论的每个文本元素。这里的语法也很容易理解。

Markdown部分,我们习惯** **将文本设为粗体_ _斜体,就像我们一直做的那样。

此外,在代码块中,我们将语言指定为“ Python ”,以便代码根据需要突出显示。我们可以根据我们的要求在此处指定任何语言。

现在,让我们看一下Streamlit中的一些小部件。

Streamlit 中的小部件

通过小部件,我们可以通过使用按钮、滑块等使我们的应用程序具有交互性。

Streamlit 中的按钮

import streamlit as st
 
#button
if st.button('Click here', help="Click to see the text change"):
    st.write('Hi there!')
else:
    st.write('Goodbye')

输出:

上面的代码包含一个显示“单击此处”的按钮。我们还在创建按钮时使用“help”参数添加了工具提示。如果单击该按钮,则会显示“您好!” 将打印在屏幕上,否则将打印“再见”。

Streamlit 中的复选框

import streamlit as st
 
# check box
checked = st.checkbox('Click here')
if checked:
    st.write('Good job!')

输出:

文字“干得好!” 仅当选中该复选框时才显示。

Streamlit 中的单选按钮

import streamlit as st
 
# radio button
lang = st.radio(
    "What's your favorite programming language?",
    ('C++', 'Python'))
 
if lang == 'C++':
    st.write('You selected C++.')
else:
    st.write('You selected Python.')

输出:

在此示例中,我们有一个单选按钮,我们在其中提出了一个问题并向用户提供了两个选项。默认情况下选择第一个选项,如果用户选择第二个选项,则会显示相应的文本。

Streamlit 中的滑块

import streamlit as st
 
# slider
score = st.slider('Please specify your test score',
                   min_value=0, max_value=100, value=10)
st.write("My test score is ", score)

输出:

这是一个简单的滑块min_value=0,它是滑块中的最小值,也是默认最小值,max_value=100它是滑块中的最大值d value=10,它指定最初显示的值。所有这些值都可以根据我们的要求进行更改。


结论

这就是本教程的全部内容!这是 Streamlit 教程系列中的第一篇。也请查看本系列中的其他教程。


参考