Press "Enter" to skip to content

在5分钟内部署您的Streamlit网络应用程序

数据科学家需要展示他们的工作,可以使用仪表板或工作中的 Web 应用程序来实现。了解可用的工具创建 Web 应用程序非常方便。有许多可用的工具,例如 Dash、Voila、Panel、Streamlit 等等。但是我个人最喜欢 Streamlit。

我在我的上一篇博客中解释了如何创建一个 Streamlit 应用程序。虽然这是一个非常基本/非机器学习应用程序,但它可以让你了解如何为你的机器学习/人工智能需求构建一个 Web 应用程序。它的简单性能够解释整个画面。

如果你还没有阅读过那篇博客,我建议你在这里阅读。相信我,使用 Streamlit 创建你自己的应用程序非常简单。在这里,我将向你展示如何在 Streamlit 云中部署应用程序。

感谢 Kelly Sikkema 在 Unsplash 上的照片

你不需要拥有自己的 Web 服务器来部署 Streamlit Web 应用程序。如果你想要在自己的 Web 服务器上部署应用程序,你可以在 Streamlit 云上进行部署。这是一个不同的过程。

要部署 Streamlit 应用程序,你只需要以下几样东西:

1. Streamlit 应用程序代码

2. Requirement.txt 文件(所有这些东西都应该在你的 GitHub 仓库中)

3. 为此,你需要一个 GitHub 资料。

4. 以及其他任何额外的内容(对于我的示例,我使用了骰子的图片)

如何创建 GitHub 资料?

Git 是由 Linus Torvalds 在 2005 年创建的免费开源软件。这个工具是一个版本控制系统,最初是为了在 Linux 内核上与多个开发人员共同使用而开发的。GitHub 在存储和分享人工智能/机器学习相关工作方面非常广泛使用。

这个故事详细解释了如何创建 GitHub 资料和仓库。感谢 Gaël Thomas。

Git 入门指南——如何开始和创建你的第一个仓库

你是一名开发者,想要开始使用 Git 和 GitHub?这篇文章是为你准备的。

VoAGI.com

哪里获取 Streamlit 应用程序代码?

我在这里提供了一个简单的掷骰子应用程序的代码,以节省你的时间。你可以复制这段代码,保存为 .py 文件放在你的仓库中,或者你也可以在我的上一篇博客中阅读详细内容。

import streamlit as stimport randomfrom matplotlib import pyplot as pltfrom PIL import Imagest.markdown("<h1 style='text-align: center;font-size: 62px; color: Blue;'>Dice Roller</h1>", unsafe_allow_html=True)def make_grid(cols,rows):    grid = [0]*cols    for i in range(cols):        with st.container():            grid[i] = st.columns(rows)    return grid    m = st.markdown("""<style>div.stButton > button:first-child {    background-color: #0099ff;    color:#ffffff;}div.stButton > button:hover {    background-color: #1BAF14;    color:#ffffff;    }</style>""", unsafe_allow_html=True)mygrid = make_grid(3,3)  no=1 mygrid_1 = make_grid(3,5) submitted = mygrid_1[2][2].button("Roll the Dice!") if submitted: # Generates a random number    # between 1 and 6 (including both 1 and 6)    no = random.randint(1,6)         if no == 1: img = Image.open("dice_1.png") mygrid[1][1].image(img)  if no == 2: img = Image.open("dice_2.png") mygrid[1][1].image(img) if no == 3: img = Image.open("dice_3.png") mygrid[1][1].image(img) if no == 4: img = Image.open("dice_4.png") mygrid[1][1].image(img) if no == 5: img = Image.open("dice_5.png") mygrid[1][1].image(img) if no == 6: img = Image.open("dice_6.png") mygrid[1][1].image(img) 

如何获取Requirement.txt文件?

您可以在Anaconda提示符中键入“Conda list”,然后您将获得所有已安装软件包的列表。您可以选择您在构建应用程序时使用的这些软件包的版本。在这里,我使用了matplotlib、pillow和streamlit软件包。您不必提供random。因此,您的Requirements.txt文件将如下所示。

您的应用程序的Requirement.txt文件将如下所示

我还添加了一些图片。您可以从这里下载它们,并且也可以将它们添加到存储库中。

您的最终GitHub存储库将如下所示

在5分钟内部署您的Streamlit网络应用程序 四海 第3张

更简单的方法

您可以在这里克隆它,以节省您所有的时间。

现在,您已准备好部署您的应用程序。

部署应用程序

您可以打开share.streamlit.io,在其中使用您的GitHub个人资料登录。然后点击“New app”按钮

来自share.streamlit.io的New app按钮

下面的字段将打开。在存储库字段中,您可以选择您的GitHub存储库。分支将自动填充;如果没有,则可以在存储库中选择主/主分支。主文件路径将是streamlit_dice_roller.py,这是我要讲的示例中的示例。应用程序URL将自动填充。

在5分钟内部署您的Streamlit网络应用程序 四海 第5张

填写了所有字段后,您可以继续按下“部署”按钮。您将收到一个页面,上面显示“您的应用程序正在烤箱中”。如果您在浏览器上运行以下cookie,则很可能您的应用程序已部署。

在5分钟内部署您的Streamlit网络应用程序 四海 第6张

恭喜您,您的Web应用程序已部署..它正在运行中..您可以与任何人共享URL。

在5分钟内部署您的Streamlit网络应用程序 四海 第7张

Leave a Reply

Your email address will not be published. Required fields are marked *