Webアプリケーションを作成・公開する(GitHub・Streamlit)
はじめに
GitHubとStreamlitを使えば、PythonでWebアプリケーションの作成・公開ができます。ここでは、GitHubとStreamlitのアカウント作成からWebアプリケーションの公開までを説明します。
以下のように、Streamlitで作成したプログラムを公開できました。
用語説明
GitHub | ウェブベースのバージョン管理プラットフォーム。「Git」というバージョン管理ツールを基盤にしたサービスで、ソースコードの保存や共有、バージョンの履歴管理、共同開発ができる |
Streamlit | Pythonを使って手軽にWebアプリケーションを作成できる枠組み。Pythonだけで色々なデザインや動的なデータの可視化を実現できる |
前提条件
Googleアカウントは既に持っているものとします。
Githubのアカウント作成
以下のページにアクセスします。
画面右上のSign upをクリックします。
メールアドレス、パスワード、ユーザ名、国・地域を入力し、Continueをクリックします。
認証コードを入力する画面が表示されるので、認証コードを入力し、Continueをクリックします
サインイン画面でメールアドレスとパスワードを入力します
サインインが成功すると、マイページが表示されます
Streamlitのアカウントを作成
Streamlit Community Cloud にアカウントを作成し、ログインをします。
下記にアクセスします。
画面右上の「Free」を選択したあと、左側の「Deploy with Streamlit Community Cloud」を選択します。
「Continue to sign-in」をクリックします。
いくつかのサインアップ方法がありますが、今回は、Githubアカウントと連携を行います。「Continue with GitHub」をクリックします。
Streamlitの認証画面に進むので、登録したメールアドレスに送られたメールに書かれている認証コードを入力します。
アカウント作成画面になるので、必要事項を入力して「Continue」をクリックします。
アカウントが作成され、下のような画面になればログインが完了しています。
GitHubにリポジトリ(保管場所)を作成
リポジトリとは、データやファイル、プログラムコードなどを保存・管理するための「保管場所」を指します。
画面左側の「Create Repositry」をクリックします。
レポジトリの作成画面では以下の項目を入力し、「Create repository」をクリックします。
Repository name | リポジトリの名前(任意)を入力して下さい。※今回は「test」とします。 |
Public/Private | リポジトリを公開したい場合は「Public」、非公開にしたい場合は「Private」を選択します。ここでは「Public」とします。 |
Initialize this repository with | 他の人がリポジトリへアクセスした場合の参照用として「READ ME」ファイルを設置したい場合は、チェックを入れます。 |
リポジトリが作成されると、以下の画面が表示されます。
リポジトリ内にPythonのプログラムファイルを作成
画面中央上付近の「+」をクリックした後に、「Create new file」をクリックします。
以下のStreamlit向けのプログラムを作成します。テストプログラムはCopilotに作ってもらいました。
Streamlitを使ったPythonプログラムを示します。このプログラムは、
ユーザー入力に基づいて計算を行うアプリです。
import streamlit as st
# Streamlitアプリの設定
st.title("シンプルな計算アプリ")
st.write("以下のフォームに数字を入力してください。")
# ユーザー入力を受け取る
number1 = st.number_input("最初の数字を入力してください:", value=0)
number2 = st.number_input("次の数字を入力してください:", value=0)
# 計算
result_add = number1 + number2
result_subtract = number1 - number2
result_multiply = number1 * number2
result_divide = None if number2 == 0 else number1 / number2
# 結果を表示
st.write(f"足し算の結果: {result_add}")
st.write(f"引き算の結果: {result_subtract}")
st.write(f"掛け算の結果: {result_multiply}")
if result_divide is None:
st.write("割り算は0では計算できません。")
else:
st.write(f"割り算の結果: {result_divide}")
ファイル名とプログラムを入力し、「Commit changes」をクリックします。
確認画面が表示されるので、「Commit changes」をクリックします。
test.py が作成されました。
StreamlitとGitHubの連携
画面右上の「Create app」をクリックします。
画面左の「Deploy a public app from GitHub」をクリックします。
Githubのレポジトリ名、ファイルパスを入力して「Deploy」をクリックします。
これで、Web上からStreamlitのアプリケーションが実行されます。
Webアプリケーション(Streamlit)で実行
Streamlitで実行したプログラムが以下です。
実行結果(最初の数字:256、次の数字:16を入力した。)
Discussion