在当今数据驱动的时代,数据科学家和机器学习工程师常面临一个挑战:如何将复杂的数据分析和模型成果,以直观、交互且易于理解的方式展示给更广泛的受众。传统的 Web 开发技术虽然强大,但对于专注于数据处理的专业人员来说,掌握 HTML、CSS、JavaScript 往往意味着额外的负担。
Streamlit 的出现为这一困境提供了完美的解决方案。它是一个开源的 Python 框架,旨在让数据科学家和机器学习工程师能够快速、轻松地创建交互式 Web 应用程序,而无需深厚的前端开发背景。通过 Streamlit,只需使用熟悉的 Python 语言,就能将数据分析脚本转化为功能齐全、美观大方的 Web 应用,实现数据可视化、用户交互以及模型部署等多种功能。
安装与初始化
安装 Streamlit 非常简单。如果你已经安装了 Python 和 pip,在命令行中输入以下命令即可完成:
pip install streamlit
安装过程中,pip 会自动下载并安装 Streamlit 及其所有依赖项。安装完成后,可以通过以下命令来验证安装是否成功:
streamlit hello
执行上述命令后,Streamlit 会启动一个示例应用程序,并在默认浏览器中打开该应用。这个示例应用展示了 Streamlit 的一些基本功能和特性,让你对 Streamlit 有一个初步的直观感受。如果能够正常看到示例应用的页面,说明 Streamlit 已经成功安装在你的系统中。
第一个 Streamlit 应用
下面我们通过一个简单的 'Hello, Streamlit!' 应用来了解 Streamlit 应用的基本结构。创建一个新的 Python 文件,例如命名为 hello_streamlit.py,在文件中输入以下代码:
import streamlit as st
# 设置页面标题
st.title('Hello, Streamlit!')
# 显示一段文本
st.write('This is my first Streamlit app.')
上述代码中,首先导入了 Streamlit 库,并将其别名为 st,这是使用 Streamlit 的标准做法。然后使用 st.title() 函数设置了应用的页面标题,st.write() 函数用于在页面上显示一段文本内容。
保存好代码后,在命令行中进入到该 Python 文件所在的目录,然后执行以下命令来运行这个 Streamlit 应用:
streamlit run hello_streamlit.py
命令执行后,Streamlit 会启动一个本地服务器,并自动在默认浏览器中打开应用页面。你将看到页面上显示着设置的标题和文本内容。每次修改代码并保存后,Streamlit 应用会自动实时更新页面显示,无需手动重启服务器,这大大提高了开发效率。
核心功能详解
文本与标题展示
在 Streamlit 中,文本和标题的展示是构建应用的基础。除了前面示例中使用的 st.title() 和 st.write() 函数外,还有其他多种方式来呈现不同样式和层次的文本。
- st.header():用于创建一级标题,字体大小小于
st.title(),通常用于划分页面的主要部分。 - st.subheader():创建二级标题,字体大小小于
st.header(),用于进一步细分内容。 - st.markdown():这个函数非常强大,它允许你使用 Markdown 语法来编写文本内容。Markdown 是一种轻量级的标记语言,通过简单的符号(如
#表示标题,*表示列表等)就能创建出具有丰富格式的文本。例如,要显示加粗文本可以使用**text**,显示斜体文本可以使用*text*,添加链接可以使用[link text](url)的格式。


