概要
PythonでのStreamlitの使い方を解説します。具体的には以下の内容を解説します
- Streamlitとは何か
- Streamlitと他のWebアプリケーションフレームワークとの比較
- Streamlit開発環境の構築
↓Lesson 4にStreamlitの作り方が乗っています

Streamlitとは何か
では一つ目のStreamlitとは何かについて解説してゆきましょう
StreamlitはデータサイエンティストやAIエンジニア向けに開発されているWebアプリケーションフレームワークです
Streamlitを使うことで、今までWebアプリの開発を全くしたことがない人でも簡単にWebアプリを作れるようになります
他のWebアプリケーションフレームワークとの比較
続いて、他のWebアプリケーションフレームワークとの違いについて解説してゆきます
PythonのWebアプリケーションフレームワークはたくさん存在しますが、
Streamlit以外の有名なものを挙げるとDjangoとFlaskがあります
Django
Djangoはフルスタックフレームワークと呼ばれ、Webアプリ開発に必要な機能を一通りそろえています
Djangoが使われている有名なサービスには写真・動画共有のInstagram、写真共有サービスのPinterestがあります
Flask
また、Flaskはマイクロフレームワークと呼ばれ、Webアプリ開発に必要な最低限の機能のみを持っています
Flaskが使われている有名なサービスには映画・ドラマなどを配信するサービスであるNetflix
アメリカの匿名掲示板SNSであるredditがあります
Django、FlaskとStreamlitの違い
では、Django、FlaskとStreamlitの違いについて複数の観点からみてゆきましょう
まずは学習コストに着目しましょう

Djangoは機能が豊富な分、習得するのに時間がかかります。
FlaskはDjangoと比べると比較的、習得は容易ですがそれでもそれなりの時間を要します
それに対して、Streamlitは学習コストが非常に低く容易に習得できます
DjangoとFlaskはPython以外にもHTMLやCSS、場合によってはJavascriptの知識が必要になります
それに対して、StreamlitはPythonだけで作成可能なのでWebアプリ開発が初めてな人にも易しいものとなっています
続いて、何を作るのに向いているかについてみてゆきましょう

DjangoはWebアプリ作成に必要な機能が一通りそろっているので本格的な大規模のWebアプリを作るのに向いています
FlaskはWebアプリ作成に必要な最低限の機能を有しているので比較的、小規模のWebアプリを作るのに向いています
それに対して、Streamlitは社内向けのアプリやプロトタイピングに向いています
これは、学習コストが低い分画面のデザインがある程度決まってしまい、オリジナリティを出すのは難しいことも関係します
以上のことから、Streamlitを使うのに向いているケースは下記が挙げられます
- データサイエンス分野でWebUI付きのアプリを作りたいとき
- データの可視化や分析結果を複数人で共有したいとき
- Webアプリのプロトタイプを作成したいとき
環境構築
続いて、Streamlit開発環境の構築についてみてゆきましょう
Streamlit開発に必要なものは次の通りです
- エディタ
- Python
- Streamlitライブラリ
以下、OSはWindowsを前提に順に解説してゆきます
エディタについて
アプリ開発ではソースコードを編集することになりますのでエディタをインストールする必要があります
お勧めはVisual Studio Codeです。
Visual Studio Code、以下vscodeはTrustRadiusというサイトによると最も人気なエディタとのことです
vscodeはセットアップが簡単、動作が軽く、拡張機能が多いという特徴を持ちます
もちろん、vscodeをインストールせず、メモ帳などでソースコードを編集することもできますが
非常に便利なのでこの機会にインストールしてみてはいかがでしょうか
vscodeのインストールは非常に簡単です。
まず、vscodeのダウンロードサイトにアクセスしOSに合ったインストーラーをダウンロードします
インストーラーを起動すると使用許諾の同意を求められるので同意するを選び、あとは案内に従ってゆくだけです
Python
まず、pythonのダウンロードサイトへアクセスし、pythonインストーラーをダウンロードします
インストーラーを起動し、Add python.exe to PATHにチェックをいれてInstall Nowを実行します
インストールが完了したらcloseをクリックします
これでPythonのインストールは完了です
Streamlitライブラリ
仮想環境
PCに直接、Streamlitライブラリをインストールしてもよいのですが、
Streamlitライブラリをインストールする前に仮想環境を作成することにしましょう
仮想環境を作ることで、複数の開発環境を切り替えることができるようになります
例えば、今回はStreamlitの開発を行うのでStreamlit向けの仮想環境を作成し、使用しますが
Flaskの開発を行いたくなった場合はFlask向けの仮想環境を作成し、使用します
こうすることで同じPC上でいくつもの開発を並行して行うことができ、非常に便利です
前置きが長くなりましたが、実際の手順を解説しましょう
まずは仮想環境の作成についてです
windows PowerShellまたはコマンドプロンプトを起動しますpython -m venv <仮想環境名>
と入力し実行します
画面上のパスのactivate.ps1を実行します
コマンドラインの左側に仮想環境名が表示されるようになりました
ここに現在使用している仮想環境が表示されます
Streamlitをインストール
次にStreamlitをインストールしましょう
仮想環境が適用されている状態でpip install streamlit
と入力し実行します
するとStreamlitのインストールが行われます
インストールが完了したらstreamlit hello
と入力し実行してみましょう
ブラウザが起動し、このような画面が表示されればstreamlitが正常にインストール、動作していることがわかります
デモがいくつか乗っているので興味があれば見てみてください