Streamlit cloudを使ったWebアプリのデプロイ

Streamlit cloudを使ったWebアプリのデプロイ

Pythonを使って作成したアプリケーションをWebで公開したいと思ったことはありませんか?そのようなとき、初心者でも簡単にデプロイができる「Streamlit Cloud」が便利です。本記事では、Streamlit Cloudを用いてWebアプリをデプロイする手順を、Pythonコードの例を交えて詳しく解説します。身近な具体例として、シンプルなデータ可視化アプリを作成し、デプロイする流れを説明します。


1. 必要な準備

Streamlit Cloudを使う前に、以下のものを準備してください。

必要なツールとアカウント

  1. Python環境
    • Python 3.7以降がインストールされている必要があります。
    • インストールされていない場合は、Python公式サイトからインストールしてください。
  2. Streamlitのインストール
    • 以下のコマンドを使って、Streamlitをインストールします:
pip install streamlit
  1. GitHubアカウント
    • Streamlit Cloudでアプリをデプロイするには、コードをGitHubリポジトリにアップロードする必要があります。
    • アカウントがない場合は、GitHubで無料アカウントを作成してください。
  2. Streamlit Cloudアカウント
    • Streamlit Cloudにアクセスし、GitHubアカウントを使ってログインします。

2. アプリケーションの作成

次に、Streamlitを使った簡単なWebアプリケーションを作成します。

サンプルアプリ:データ可視化アプリ

以下は、ランダムデータを生成し、折れ線グラフを表示するシンプルなアプリの例です。

  1. アプリコードを作成
    • 任意のフォルダにapp.pyという名前で以下のコードを保存してください。
import streamlit as st
import pandas as pd
import numpy as np

# アプリのタイトル
st.title('シンプルなデータ可視化アプリ')

# 説明文
st.write('このアプリではランダムデータを生成し、折れ線グラフとして表示します。')

# ランダムデータ生成
st.sidebar.header('設定')
n = st.sidebar.slider('データポイント数', min_value=10, max_value=100, value=50)

# データフレーム作成
data = pd.DataFrame(
    {
        'x': np.arange(n),
        'y': np.random.randn(n).cumsum()
    }
)

# グラフ表示
st.line_chart(data, x='x', y='y')
# アプリを実行
streamlit run app.py

このコードでは、Streamlitを使ってランダムなデータを生成し、それを折れ線グラフとして表示するアプリを作成しています。サイドバーからデータポイント数を調整することも可能です。


3. GitHubリポジトリにコードをアップロード

Streamlit Cloudでデプロイするには、アプリのコードをGitHubにアップロードする必要があります。

手順

  1. GitHubで新しいリポジトリを作成します。
    • リポジトリ名を入力し、”Public”を選択します。
  2. ローカルで作成したコードをリポジトリにアップロードします。
    • 以下のコマンドを使用して、コードをプッシュします:
git init
git add app.py
git commit -m "Initial commit"
git branch -M main
git remote add origin <GitHubリポジトリのURL>
git push -u origin main

4. Streamlit Cloudでデプロイ

GitHubにコードをアップロードしたら、Streamlit Cloudでデプロイします。

デプロイ手順

  1. Streamlit Cloudにログインします。
  2. **”New App”**ボタンをクリックします。
  3. デプロイするGitHubリポジトリを選択します。
  4. ブランチ名(通常はmain)とファイル名(例:app.py)を指定します。
  5. “Deploy”ボタンをクリックします。

数秒後、アプリがデプロイされ、専用のURLが生成されます。このURLを共有することで、誰でもアプリにアクセスできます。


5. トラブルシューティング

デプロイ中に問題が発生した場合、以下を確認してください。

よくある問題と解決策

  1. アプリが起動しない
    • requirements.txtファイルが必要な場合があります。
    • 以下のコマンドでrequirements.txtを作成してください:
pip freeze > requirements.txt
  • リポジトリに追加し、再度プッシュします。
  1. エラーログの確認
    • Streamlit Cloudのダッシュボードで、エラーログを確認できます。
    • ログを基にコードを修正してください。

6. 完成したアプリの公開

デプロイが成功したら、生成されたURLを使ってアプリを公開できます。

公開時のポイント

  • アプリの説明をわかりやすく記載することで、利用者が目的を理解しやすくなります。
  • SNSやブログでアプリを共有すると、多くの人に使ってもらうことができます。

まとめ

本記事では、Streamlit Cloudを用いてPythonで作成したアプリをデプロイする手順を解説しました。以下が流れの概要です:

  1. Python環境と必要なツールを準備。
  2. Streamlitを使ったアプリケーションを作成。
  3. GitHubにコードをアップロード。
  4. Streamlit Cloudで簡単にデプロイ。

Streamlitを使えば、初心者でも簡単にWebアプリを公開することができます。ぜひ、身近なプロジェクトで試してみてください。