はじめに:「自分のPCでしか動かせない…」を解決する方法
「せっかくアプリを作ったけど、自分のPCでしか動かせない…」
「他の人にも見てもらえるように公開したい!」
そんな悩みを一瞬で解決するのが、Streamlit Community Cloud です。
このサービスを使えば、Pythonで作ったアプリを無料で、最短5分で世界中に公開できます。
しかも、サーバー構築やドメイン設定などの面倒な作業は一切不要。
PythonコードとGitHubアカウントさえあれば、URL一つで誰でもアクセス可能なWebアプリを作れます。
Streamlit Community Cloudとは?
Streamlit Community Cloudは、Streamlit公式が提供する無料のホスティングサービスです。
GitHubにアップロードしたPythonアプリを、数クリックでWeb上に公開できます。
| 特徴 | 内容 |
|---|---|
| 利用料金 | 無料(Communityプラン) |
| 対応言語 | Python(Streamlitフレームワーク) |
| デプロイ方法 | GitHub連携による自動ビルド |
| 公開URL | 自動発行(例:https://your-app.streamlit.app) |
事前準備:3つだけ
- GitHubアカウント
→ https://github.com で作成。Pythonコードをアップロードしておきます。 - Streamlitアカウント
→ https://streamlit.io/cloud でGitHub連携ログイン。 - requirements.txt
アプリで使うライブラリを明記します。streamlit pandas openai
デプロイ手順(最短5分)
Step 1:GitHubにリポジトリを作成
- GitHubで新しいリポジトリを作成(例:
my-streamlit-app)。 app.pyとrequirements.txtをアップロード。- 必要に応じて
.streamlit/config.tomlを追加。
Step 2:Streamlit Cloudにログイン
- https://streamlit.io/cloud にアクセス。
- 「Sign in with GitHub」をクリック。
- GitHubリポジトリへのアクセスを許可。
Step 3:アプリをデプロイ
- ダッシュボード右上の「New app」をクリック。
- 対象リポジトリを選択。
- ブランチ:
mainファイル:app.pyを指定。 - 「Deploy」を押すだけ。
約1分で自動ビルドされ、https://your-app.streamlit.app のようなURLが発行されます。
トラブル回避のポイント
| よくあるエラー | 対応方法 |
|---|---|
| requirements.txtがない | 必ずライブラリを明記 |
| モジュールが見つからない | pip freeze > requirements.txt で更新 |
| APIキーが必要 | 「Secrets」機能で登録 |
| 起動が遅い | st.cache_data() を活用 |
SecretsでAPIキーを安全に管理する方法
- ダッシュボード → アプリ設定 → 「Secrets」タブを開く。
- 以下のように登録:
OPENAI_API_KEY = "sk-xxxxx" - コードで呼び出す:
import streamlit as st api_key = st.secrets["OPENAI_API_KEY"]
まとめ
| 要素 | 内容 |
|---|---|
| 難易度 | 初心者向け |
| コスト | 無料 |
| 所要時間 | 約5分 |
| 必要スキル | Python + GitHubの基本操作 |
Streamlit Community Cloudを使えば、「自分のPCでしか動かない…」という悩みを解決し、誰でもアクセスできるWebアプリを簡単に公開できます。学習成果の共有、データ可視化、ChatGPTデモなどに最適です。
次のステップ
- カスタムドメインを設定してみる
- ファイルアップロード機能を追加する
- ChatGPT APIを組み込んで対話型アプリを作る
筆者コメント
Streamlit Cloudは「最速で動くPythonアプリの公開方法」です。特別な環境構築なしでデプロイできるため、学習者・エンジニア・コンサルタントすべてにおすすめです。
GitHubテンプレート構成
以下の構成で作るとスムーズにデプロイできます。
my-streamlit-app/
├── app.py
├── requirements.txt
└── .streamlit/
└── config.toml
app.py(例)
import streamlit as st
import pandas as pd
st.title("My First Streamlit App")
st.write("これはStreamlit Community Cloudで公開されたサンプルアプリです。")
data = {"名前": ["太郎", "花子", "健"], "スコア": [85, 92, 78]}
df = pd.DataFrame(data)
st.dataframe(df)
requirements.txt
streamlit
pandas
.streamlit/config.toml(任意)
[server]
headless = true
port = 8501
enableCORS = false
デプロイチェックリスト(NotionまたはCSV対応)
| 項目 | 内容 | 確認 |
|---|---|---|
| 1 | Pythonアプリ(app.py)が完成している | ✅ |
| 2 | requirements.txtを作成済み | ✅ |
| 3 | GitHubリポジトリを作成 | ✅ |
| 4 | Streamlit Cloudにログイン(GitHub連携) | ✅ |
| 5 | 「New app」からデプロイ設定 | ✅ |
| 6 | 動作確認(表示・ボタン操作) | ✅ |
| 7 | 不要なprint文やAPIキーを削除 | ✅ |
| 8 | Secretsを使ってAPIキーを登録 | ✅ |
| 9 | 公開URLをテスト・共有 | ✅ |
| 10 | Readme.mdに説明を追加 | ✅ |
Notion貼り付け例
✅ app.py 作成完了
✅ requirements.txt 記載完了
✅ GitHub 連携済み
✅ Streamlit Cloud デプロイ確認
✅ 公開URL 共有完了


コメント