streamlit runとは?結論から言うと「PythonファイルをWebアプリとして起動するコマンド」
streamlit runとは、Pythonで書いたスクリプトをStreamlitのWebアプリとして起動するためのコマンドです。ターミナル(コマンドプロンプトやPowerShell、macOSのターミナルなど)で streamlit run ファイル名.py と入力すると、ローカルに小さなWebサーバーが自動で立ち上がり、ブラウザでアプリを確認できる状態になります。
Streamlitは、データサイエンティストやAI/MLエンジニア向けに公開されているオープンソースのPythonフレームワークで、フロントエンドの経験がなくてもインタラクティブなデータアプリを短時間で作れるのが特徴です。公式サイトでも「Turn your data scripts into shareable web apps in minutes. All in pure Python.」と説明されており、HTMLやCSS、JavaScriptを書かずにアプリを組み立てられる点が支持されています。
つまりstreamlit runは、「作ったPythonスクリプトを、自分のPC上でWebアプリとして動かすための入口」だと考えるとわかりやすいです。この記事では、streamlit runの基本、実行の流れ、よくあるつまずきポイント、他のフレームワークとの比較までを順番に整理していきます。
streamlit runの基本:インストールから起動までの流れ
まずは実際の流れを確認しましょう。Streamlitは通常のPythonライブラリと同じようにインストールできます。公式サイトでも「Just install it like any other Python library」と案内されています。
1. Streamlitをインストールする
ターミナルで次のコマンドを実行します。
pip install streamlit
環境によっては pip3 や仮想環境(venv、condaなど)を使うとスムーズです。インストールが終われば、streamlit runが使えるようになります。
2. Pythonファイルを用意する
次に、アプリの本体となるPythonファイルを作ります。たとえば app.py という名前で、次のようなコードを書いてみましょう。
import streamlit as stst.write("Hello world!")
公式サイトのサンプルでも、import streamlit as st と st.write() だけで最初のアプリが作れると紹介されています。この時点では、まだブラウザには何も表示されません。
3. streamlit runで起動する
ファイルを保存したら、そのファイルがあるディレクトリで次のコマンドを実行します。
streamlit run app.py
すると自動的にブラウザが開き、http://localhost:8501/ のようなURLでアプリが表示されます。localhostは自分のPCを指す特別な名前で、ローカル環境ではサーバーを自分で構築しなくても、Streamlitが小さなWebサーバーを立ち上げてくれる仕組みです。
なお、ファイル名を省略して streamlit run だけを実行すると、対象のスクリプトが見つからずエラーになることがあります。必ず「streamlit run ファイル名.py」の形で指定しましょう。
streamlit runでできること:リアルタイム更新とインタラクション
streamlit runの便利さは、起動するだけにとどまりません。ソースファイルを保存すると、アプリが自動で更新される点も大きな特徴です。公式サイトでは「see it automatically update as you iteratively save the source file」と説明されており、コードを書き換えて保存するたびに、ブラウザ側の表示も反映されます。
また、ウィジェットの追加も「変数を宣言するのと同じ感覚」でできるとされています。バックエンドを書いたり、ルーティングを定義したり、HTTPリクエストを処理したり、フロントエンドを接続したりする必要はありません。スライダーやボタン、セレクトボックスなどを置くだけで、インタラクティブなアプリになります。
データの可視化も得意分野です。pandasのデータフレームを読み込んでグラフを表示する、といった処理もPythonコードだけで完結します。データ分析の結果をそのまま共有できるため、社内のレポートやプロトタイプに向いています。
streamlit runと他のフレームワークの比較
PythonでWebアプリを作る場合、Django、Flask、FastAPIなどの選択肢もあります。それぞれの立場を簡単に整理すると、次のようになります。
Django・Flask・FastAPIとの違い
DjangoやFlaskは、一般的なWebアプリやAPIを作るのに向いたフレームワークです。HTMLテンプレートやルーティング、データベース連携など、Web開発の幅広い機能を備えています。一方で、画面を作るにはHTMLやCSSの知識がある程度必要になります。
FastAPIはAPI構築に強みがあり、機械学習モデルをAPIとして公開する用途で選ばれることもあります。ただし、そのままではブラウザで操作できるUIは付いてきません。
これに対してStreamlitは、「Pythonだけで、データを見せるためのWebアプリを素早く作る」ことに特化しています。HTMLやCSSを書かずにきれいな画面を作れる点、リアルタイムでデータやグラフを更新できる点が、初心者にも扱いやすい理由です。
どんなアプリ作成に向いているか
Streamlitが向いているのは、次のようなケースです。
- データ分析の結果を手軽に可視化したい
- 機械学習モデルのデモを共有したい
- 社内ツールやプロトタイプを短時間で作りたい
- Webアプリ開発の経験がほとんどない
逆に、大規模な認証機能や複雑な画面遷移を持つ業務システムを本格的に作る場合は、DjangoやFlaskのほうが適していることがあります。目的に応じて使い分けるのが現実的です。
streamlit runのメリット・デメリット
ここからは、streamlit runを使ううえでの良い点と注意点を整理します。
メリット
- PythonだけでWebアプリを作れるため、学習コストを抑えやすい
- HTMLやCSS、JavaScriptを書かなくても画面が作れる
- streamlit runで即座にローカル起動でき、確認が速い
- ファイル保存時に自動で更新されるため、試行錯誤しやすい
- データやグラフのリアルタイム更新に向いている
デメリット・注意点
- ローカル環境ではサーバー構築不要だが、他の人に公開するにはクラウド上へのデプロイが必要
- 複雑な画面遷移や大規模な業務システムには向かない場合がある
- HTMLやCSSを細かく制御したい場合には制約を感じることがある
- 実行時にエラーが出ると、ターミナル側のログを確認する必要がある
特に「ローカルでは動くけれど、公開するにはひと手間かかる」という点は、最初につまずきやすいところです。公式サイトではStreamlit Community Cloudを使ったデプロイも案内されており、コミュニティ向けのアプリを公開する選択肢が用意されています。
streamlit runが動かないときのチェックポイント
streamlit runを実行してもうまくいかない場合、次の点を確認してみてください。
コマンドやファイル名の確認
まず、streamlit run app.py のようにファイル名まで正しく指定しているかを確認します。ファイル名のスペルミスや、拡張子の付け忘れはよくある原因です。また、カレントディレクトリがファイルのある場所と一致しているかも見直しましょう。
インストール環境の確認
Streamlitがインストールされていない、あるいは別のPython環境に入っていると、コマンドが見つからないエラーになります。仮想環境を使っている場合は、その環境が有効になっているかを確認してください。
ポートやブラウザの確認
起動時に表示されるURL(例:http://localhost:8501/)に手動でアクセスすると表示されることがあります。ブラウザが自動で開かない場合は、ターミナルに表示されたURLをコピーして確認してみましょう。
streamlit runを学ぶのにおすすめの学習リソース
streamlit runの使い方を覚えたら、次は実際に手を動かしてアプリを作ってみるのが上達の近道です。公式ドキュメントにはAPIやデプロイ方法がまとまっており、チュートリアルを進めることで基本的な流れをつかめます。
Python自体に不安がある場合は、入門書を1冊手元に置いておくと、エラーが出たときに調べやすくなります。データ分析の前提知識を固めたいなら、pandasや可視化の書籍も役立ちます。以下は学習の参考になる書籍の例です。
また、Webアプリの仕組みを理解しておくと、streamlit runが裏で何をしているのかがイメージしやすくなります。HTTPやWebサーバーの基礎を学べる書籍も、遠回りのようでいて近道になります。
機械学習モデルをアプリとして公開したい場合は、モデル構築の知識も必要になります。scikit-learnやTensorFlowなどの入門書を合わせて読むと、デモアプリの幅が広がります。
まとめ:streamlit runはPythonデータアプリの最初の一歩
streamlit runとは、PythonスクリプトをStreamlitのWebアプリとして起動するコマンドです。インストールは pip install streamlit、起動は streamlit run app.py という流れで、HTMLやCSSを書かなくてもブラウザで動くアプリを作れます。ファイル保存時の自動更新や、ウィジェットを変数のように扱える手軽さも魅力です。
一方で、公開にはデプロイが必要だったり、複雑な業務システムには向かなかったりと、用途に応じた使い分けも大切です。まずは小さなアプリをstreamlit runで動かし、データ可視化やデモ共有の感覚をつかんでみてください。公式ドキュメントと入門書を併用しながら、少しずつできることを増やしていくのがおすすめです。

コメント