サイトアイコン アマチュア無線局JS2IIU

【Streamlit】初めてのアプリを作成

こんにちは、JS2IIUです。
StreamlitでUI部品を組み合わせたアプリを作ってみます。始めて作る方向けに丁寧に解説していきます。今回もよろしくお願いします。

1. はじめに

Pythonで簡単にWebアプリを作れるツールをご存じですか?
Streamlit(ストリームリット)は、データ分析や機械学習の結果を手軽に可視化・共有できる人気のフレームワークです。複雑なHTMLやJavaScriptを一切書かずに、PythonのコードだけでWebアプリを作成できます。

この記事では、Streamlitを初めて触る方向けに、テキスト表示・ボタン・スライダーといった基本的なUI部品を使った簡単なアプリを一緒に作っていきます。

2. 環境の準備

ステップ1:Pythonのインストール

まず、Pythonがインストールされていることを確認してください。
まだの方は、公式サイト(https://www.python.org/)から最新版をインストールしましょう。

ステップ2:仮想環境の作成(任意)

環境を汚したくない方は、Pythonの仮想環境を作成するのがおすすめです。

Bash
python -m venv venv
source venv/bin/activate  # Windowsの方は venv\Scripts\activate

ステップ3:Streamlitのインストール

以下のコマンドでStreamlitをインストールします。

Bash
pip install streamlit

インストールが完了したら、Streamlitが使える状態になります。

3. 最初のStreamlitアプリの作成

ステップ1:ファイルを作る

任意のフォルダに、以下の名前でPythonファイルを作成します。

app.py

Python
import streamlit as st

st.write("こんにちは、Streamlit!")

このコードでは、st.write()関数を使ってシンプルにテキストを表示しています。

4. ボタンの追加と動作

次に、ボタンを画面に追加して、ボタンを押したときだけ特定のメッセージを表示してみましょう。

ステップ2:コードを追記

Python
import streamlit as st

st.write("こんにちは、Streamlit!")

if st.button("クリックしてね"):
    st.write("ボタンが押されました!")

解説

5. スライダーの追加と値の取得

次は、スライダーで数値を選び、その値を表示する機能を追加しましょう。

ステップ3:コードを追記

Python
import streamlit as st

st.write("こんにちは、Streamlit!")

if st.button("クリックしてね"):
    st.write("ボタンが押されました!")

age = st.slider("年齢を選んでください", 0, 100, 25)
st.write("あなたの年齢は", age, "歳です。")

解説

6. アプリ全体の完成コード

ここまでの内容をすべて組み合わせた、完成版のコードがこちらです。

Python
import streamlit as st

st.title("はじめてのStreamlitアプリ")

st.write("こんにちは、Streamlitへようこそ!")

if st.button("クリックしてね"):
    st.write("ボタンが押されました!")

age = st.slider("年齢を選んでください", 0, 100, 25)
st.write("あなたの年齢は", age, "歳です。")

st.title()で大きなタイトルを表示することもできます。

7. 実行してみよう

アプリの準備ができたら、いよいよ実行です!

ステップ4:ターミナル(またはコマンドプロンプト)で以下を入力

Bash
streamlit run app.py

ブラウザが自動的に開き、作成したアプリが表示されるはずです。
もし自動で開かない場合は、表示されたURL(通常は http://localhost:8501)をコピーしてブラウザに貼り付けてください。

8. まとめと次のステップ

今回学んだこと

次におすすめのステップ

Streamlitには多くのUIパーツが揃っていますので、今回作ったのと同じ要領で色々と試してみてください!

少しずつ機能を学んでいくことで、あなただけの便利なアプリが作れるようになります!

9. 参考リンク

最後に書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。

最後まで読んでいただきありがとうございます。

モバイルバージョンを終了