こんにちは、JS2IIUです。
Streamlitで開発したアプリはStreamlit Community Cloudを使って簡単に、しかも無料で公開することができます。具体的な手順について説明します。今回もよろしくお願いします。
1. はじめに
Pythonで作ったStreamlitアプリを他の人にも見てもらいたい!
そんなときに便利なのが、Streamlit Community Cloudです。
この記事では、無料で簡単にStreamlitアプリを公開する方法を、わかりやすく解説します。
初めてWebアプリをデプロイする人でも安心して取り組めるように、ステップバイステップで説明していきます。
2. Streamlit Community Cloudとは?
Streamlit Community Cloud は、Streamlit公式が提供するアプリホスティングサービスです。GitHubと連携することで、誰でも簡単にアプリをWeb上に公開できます。
主な特徴
- 💰 無料で使える(一部制限あり)
- 🔄 GitHubと連携して自動デプロイ
- 🖱️ GUI操作で初心者でも簡単
- 🌐 URLを共有するだけで他人に見せられる
3. 事前準備
デプロイを始める前に、次の準備を済ませておきましょう。
✅ 必要なもの
| 項目 | 内容 |
|---|---|
| GitHubアカウント | https://github.com に無料登録 |
| StreamlitアプリのPythonコード | 例として簡単なアプリを後ほど紹介します |
| requirements.txt | アプリで使うライブラリ一覧(pipが自動インストールします) |
4. サンプルアプリの作成
まずは簡単なStreamlitアプリを作ってみましょう。
📄 ファイル1:app.py
import streamlit as st
import pandas as pd
import numpy as np
# タイトル
st.title("売上データの可視化アプリ")
# データの作成
st.subheader("売上データの例(架空)")
months = ["1月", "2月", "3月", "4月", "5月", "6月"]
sales = np.random.randint(100, 500, size=len(months))
# DataFrameにまとめる
df = pd.DataFrame({
"月": months,
"売上": sales
})
# データの表示
st.dataframe(df)
# 棒グラフの表示
st.subheader("月別売上の棒グラフ")
st.bar_chart(df.set_index("月"))
# 折れ線グラフ(比較用)
st.subheader("月別売上の折れ線グラフ")
st.line_chart(df.set_index("月"))
📄 ファイル2:requirements.txt
streamlit
pandas
numpyこのファイルはアプリで使用するPythonライブラリを記載します。
requirements.txtに関する詳細についてはこちらの記事を参考にしてください。
5. GitHubにアップロードする
Streamlit CloudはGitHubのリポジトリを元にアプリをデプロイします。以下の手順で、作成したファイルをGitHubにアップロードしましょう。
手順:
① GitHubで新しいリポジトリを作成
- https://github.com にアクセスし、ログイン
- 画面右上の「+」→「New repository」
- リポジトリ名を入力(例:
hello-streamlit) - 「Create repository」ボタンをクリック
② ローカルからコードをコミット
- 作成した
app.pyとrequirements.txtを用意 - GitHubリポジトリ画面で「Add file」→「Upload files」
- 両ファイルをドラッグ&ドロップしてアップロード
- 「Commit changes」ボタンで保存

6. Streamlit Community Cloudでデプロイ
準備が整ったら、いよいよデプロイ(公開)です。
手順:
① Streamlit Cloud にアクセス
- 「Sign in with GitHub」をクリックしてログイン

② 「New app」をクリック
- GitHubリポジトリの一覧が表示されます
- 作成したリポジトリを選択(例:
hello-streamlit)

③ 必要な設定を入力

| 項目 | 内容 |
|---|---|
| Repository | ユーザー名/リポジトリ名(例:yourname/hello-streamlit) |
| Branch | main(初期設定のままでOK) |
| File path | app.py(メインのアプリファイル名) |
④ 「Deploy」ボタンをクリック
- 数十秒でアプリがデプロイされ、公開URLが発行されます
- 実際に見てください:https://my-sample-app.streamlit.app
7. 公開されたアプリを確認
Webブラウザで公開URLにアクセスすると、アプリが表示されます。


🟢 ちゃんと動作すれば成功です!
8. よくあるエラーと対処法
| エラー | 原因 | 解決方法 |
|---|---|---|
ModuleNotFoundError | requirements.txt に必要なライブラリが書かれていない | 使用しているライブラリをすべて記載する |
| アプリが起動しない | File path が間違っている | app.py のように正確なファイル名を指定する |
| ローディングが終わらない | ファイル名のミスや依存関係のエラー | GitHubのコードを見直す・ログを確認する |
9. アプリを更新したいときは?
アプリの内容を変更したい場合は、GitHub上のコードを更新すればOKです。
更新の流れ:
app.pyを修正して保存- GitHub にコミット(アップロード)
- 数秒~1分程度でアプリに自動反映
🔄 自動で再デプロイされるので、特別な操作は不要です。
10. 注意点と制限
- 無料プランでは1時間アクセスがないとスリープ状態になります(再アクセスで復帰)
- 秘密情報(APIキーなど)をコードに直接書かないよう注意しましょう
.streamlit/secrets.tomlを使えば安全に環境変数を使うことも可能です(上級者向け)
11. まとめ
Streamlit Community Cloudを使えば、コードを書くだけで誰でもWebアプリを公開できます。特別なサーバー設定も不要で、無料で始められるのが魅力です。
ぜひ、ポートフォリオや社内ツール、趣味のアプリなど、気軽に公開してみてください。
12. 参考リンク
最後まで読んでいただきありがとうございます。



コメント