LoginSignup
21
19

More than 1 year has passed since last update.

Google ColaboratoryでサクっとStreamlit(最小構成)

Last updated at Posted at 2022-01-04

ノートブック

colabでサクッとStreamlit(最小構成)

使い方

メニューバーから、

ランタイム > すべてのセルを実行

そもそもGoogle Colaboratoryの使い方は、という方はこちら。

ソース

pipstreamlitをインストールします。

コードセル1
!pip install streamlit

Streamlitメインの処理を/content/app.pyに保存します。

コードセル2
%%writefile app.py
import streamlit as st
st.title("Hello World !")

ファイルブラウザを起動、エディタapp.pyを開いておきます。

コードセル3
from google.colab import files
files.view("/content")
files.view("app.py")

Streamlitをlocaltunnelのトンネルで起動します。

コードセル4
!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ってどう使うんだっけ?と思ったら

app.py
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ドライブをマウントしてその中に作ると消えません。

21
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
19