ノートブック
colabでサクッとStreamlit(最小構成)
使い方
メニューバー
から、
ランタイム
>すべてのセルを実行
そもそもGoogle Colaboratory
の使い方は、という方はこちら。
ソース
pip
でstreamlit
をインストールします。
!pip install streamlit
Streamlitメインの処理を/content/app.py
に保存します。
%%writefile app.py
import streamlit as st
st.title("Hello World !")
ファイルブラウザ
を起動、エディタ
でapp.py
を開いておきます。
from google.colab import files
files.view("/content")
files.view("app.py")
Streamlitをlocaltunnelのトンネルで起動します。
!streamlit run app.py & sleep 3 && npx localtunnel --port 8501
実行して、下のような出力が出るまで待ち、
your url
に接続してアプリ画面
をブラウザの別タブで開きます。
初回はClick to Continue
ボタンを押して遷移します。
npx: installed 22 in 2.985s
your url is: https://****-******-**.loca.lt
https://--.loca.ltは公開アドレスです。
アドレスを知っている人は誰でも閲覧できます。
終わり方
作業が終わったら、実行中のセルの停止
とセッションの終了
をします。
それをしなくても12時間経てばノートブックのセッションは切断されるようなので
タブを閉じて離脱してもいいかもしれません。
こんな使い方ができる
Streamlit APIの動作確認をする。
colab画面右のエディタ
から、
app.py
を編集 → 上書き保存 → 開いたアプリ画面(開いたhttps://***.loca.ltのページ)の更新
これだけで、動作確認ができます。
簡単なコードであればStreamlitは起動しっぱなしでOKです。
本番実装する一歩手前のスペニットの動作確認なんかに使えると思います。
例えばst.dataframe
ってどう使うんだっけ?と思ったら
import streamlit as st
import pandas as pd
import numpy as np
df = pd.DataFrame(
np.random.randn(50, 20),
columns=('col %d' % i for i in range(20)))
st.dataframe(df)
コピペしてapp.pyを上書き保存。
アプリページを更新するだけ。
すべて、colab上(ブラウザ上)で完結しています。
なので極論、スマホからでも動作確認やStreamlitを使ったWebアプリの開発ができてしまいます。
他ユーザの作ったノートブックをそのまま編集しても保存されません。
保存したい場合は、メニューバーから[ドライブにコピーを保存]を押してコピーします。
また、ローカルに保存したファイルは、セッションが終了すると共に消えます。
コードセルに保存するか、googleドライブをマウントしてその中に作ると消えません。