Google ColabでStreamlitアプリケーションを実行し、外部からアクセスする方法

2023/12/10に公開

1. はじめに

本記事では、Google ColabとStreamlitを使用してインタラクティブなウェブアプリケーションを作成し、外部からアクセスする方法を紹介します。Google Colabは、ブラウザベースのPython開発環境であり、StreamlitはPythonで軽量なウェブアプリケーションを作成するための素晴らしいツールです。

2. 必要なツールとライブラリ

このプロジェクトでは、Streamlitとngrokを使用します。StreamlitはPythonプログラムを対話的なウェブアプリケーションに変換し、ngrokはローカルサーバーをインターネット上に公開するためのツールです。これらは両方とも無料で利用可能ですが、ngrokのアカウント登録が必要です。

!pip install streamlit
!pip install pyngrok

3. streamlit_app.pyの作成

%%writefile streamlit_app.py
import streamlit as st

st.title('Streamlit on Google Colab')

user_input = st.text_input("ここに入力してください")
st.write(f'あなたが入力した内容は: {user_input}')

4.ngrokを使用してstreamlitを表示

ngrokの公式サイトにログインしてauthtokenを取得してください

!ngrok authtoken [token] # [token]の部分をあなたのngrokの認証トークンに置き換えてください
!streamlit run streamlit_app.py &>/dev/null&
!pgrep streamlit

from pyngrok import ngrok

#Streamlitが使用するデフォルトのポート番号8501を明示的に指定
public_url = ngrok.connect(8501)
print("Public URL:", public_url)

5. トラブルシューティング

StreamlitアプリケーションをColabで実行する際には、いくつかの一般的な問題に遭遇することがあります。最も一般的なのは、ngrokのトンネル設定エラーです。この問題に遭遇した場合は、ポート番号を確認し、正しく設定されていることを確認してください。

6. まとめ

本記事では、Google ColabとStreamlitを使用して簡単なウェブアプリケーションを作成し、外部からアクセスする方法を紹介しました。このテクニックは、データサイエンスプロジェクトのデモンストレーションや、プロトタイプの共有に特に有用です。

7. 参考資料

Streamlit公式ドキュメント
ngrok公式ドキュメント
Google Colab公式FAQ

Discussion