在 Azure 中部署 Streamlit 应用程序而不使用 Docker

问题描述 投票:0回答:3

有没有一种方法可以在不使用 Docker 的情况下在 Azure 应用服务上部署 Streamlit 应用程序? 互联网上的所有指南都提到 Docker 虚拟化,而理论上,Azure Web App 应该能够从 Azure Repo 自动部署代码。我在 Azure 配置选项卡中使用“streamlit run app.py”作为启动命令,但什么也没发生。

azure deployment streamlit
3个回答
2
投票

您可以通过设置普通的 Steamlit 应用程序并添加应用程序服务特定配置来实现此目的。具体步骤如下:

  1. 创建定价层 B1 或更高级别的 Azure 应用服务。免费版本(F1)不支持Streamlit所需的websocket。

  2. 为项目创建一个文件夹。并添加

    requirements.txt
    并添加以下内容。

    流光溢彩

  3. 将此文件夹部署到 Azure 应用服务。

  4. 进行以下配置更改。在

    Configuration > General Settings > Startup command
    下提供以下值

    python -m Streamlit hello --server.port 8000 --server.address 0.0.0.0

  5. 在 Azure 应用服务配置中启用 Web socket。

Azure 仅允许 pip 二进制文件在用作模块时运行,而不是直接运行。 我们提到端口是因为默认情况下服务侦听端口 8000。我们提到 server.address 为 0.0.0.0,以便它可以为来自 azure 基础设施的所有传入请求提供服务。


0
投票

要使用它来运行您的应用程序,您需要将“hello”替换为“run app.py”(假设应用程序名称为app.py)。对我来说,当我将代码放在 gitHub 上并登录时,这是有效的,但当我通过带有 Azure 扩展的 VSCode 或通过 gitlab 部署时,我都失败了。当我完全按照这个视频做时,它起作用了:https://www.youtube.com/watch?v=2toRzAYT8yo


0
投票

检查Python版本并更新Web应用程序中的Python版本(同时配置Web应用程序)

如果您有任何疑问,请通过电子邮件与我联系。我会指导你:)

© www.soinside.com 2019 - 2024. All rights reserved.