以前の記事の続き、localhostで作成したウェブアプリを Sharing • Streamlit を使って公開するまで
Streamlitを使って、Pythonだけでウェブアプリを作成、公開してみる【前編】
【Streamlitとは】 Streamlit データアプリを構築して共有する最速のツールPythonを書くだけで、ウェブアプリが簡単に構築できるSharing • Streamlit を使うと簡単に…
目次
Sharing • Streamlit とは
- Streamlit アプリのデプロイ、管理、公開のためのプラットフォーム
- 現在、利用のためには申請を行う必要があります。申し込みをすれば、2日ほどで、手順のメールをお知らせいただけました。
- 手順については、Streamlit Sharingを使ってWebアプリを爆速でデプロイしてみた で詳しく説明されています。
- その手順に従えば、問題無く公開出来ますが、1点、詰まったフローがありました。
requirements.txt の作成について
- Pythonの環境を Sharing • Streamlit で再現するために、requirements.txtの作成が必要です。
- 但し、開発環境がWindows10のため、Deployでのエラーが発生しました。
Collecting pytz==2021.1
Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB)
[35mERROR[0m: Could not find a version that satisfies the requirement pywin32==224
[35mERROR[0m: No matching distribution found for pywin32==224
[35mWARNING[0m: You are using pip version 21.0.1; however, version 21.1.1 is available.
You should consider upgrading via the '/home/appuser/venv/bin/python -m pip install --upgrade pip' command.
[32m[manager] [0minstaller returned a non-zero exit code
[32m[manager] [0mError during processing dependencies! Please fix the error and push an update, or try restarting the app.
- 解決策
- Windows関連のモジュールをリストから削除すれば、問題なくDeployできました。
- 下記のモジュールを requirements.txt から削除しました。
pywin32==224
pywinpty==1.0.1
pypiwin32==223
- 下記のように公開されました。
- Streamlitで作成したサンプルアプリ
ウェブアプリの更新方法
- GitHubでのソースは公開しておくこと
- ローカルの開発環境で、該当の st_app.py を変更して動作確認
- その後、GitHubにpushするだけで、自動でDeployまでしてくれます。