4

Sreamlit で書かれたシンプルな Web アプリをデプロイすることを目指しています。

app.py

import streamlit as st
st.title('Hello World!')

streamlit run app.pyコマンドラインで実行することにより、ローカルマシンでこれを実行できます。

ただし、GCP の App Engine で app.yaml ファイルを変更してこれをデプロイする方法がわかりません。

何かアドバイス?

4

1 に答える 1

10

カスタム ランタイムを指定できるので、そのために App Engine フレキシブル環境を使用できます。手順は次のとおりです。

  1. Dockerfile を作成します。

    FROM python:3.7
    EXPOSE 8080
    WORKDIR /app
    COPY requirements.txt ./requirements.txt
    RUN pip3 install -r requirements.txt
    COPY . .
    CMD streamlit run app.py --server.port 8080
    

    App Engine フレックスではサーバーがポート 8080 でリッスンする必要があるため、Dockerfile を更新しました。

  2. 必要な依存関係を含む requirements.txt ファイルを作成します。

    streamlit
    
  3. app.yaml ファイルを作成します。

    runtime: custom
    env: flex
    

    app.yaml と Dockerfile の両方が同じフォルダーにある必要があります。上記の app.yaml 設定は非常に基本的なものです。詳細については、ドキュメントを参照してください。

次にデプロイするには、次の gcloud コマンドを使用する必要があります。gcloud app deploy

于 2019-11-26T14:11:27.843 に答える