9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【簡単爆速第2弾】Streamlitをherokuにデプロイ

Last updated at Posted at 2020-07-17

前回までのあらすじ

前回の記事

PythonのオープンソースフレームワークであるStreamlitを使って、爆速でwebアプリを作りました。

今回の流れ

Streamlitで作ったwebアプリのディレクトリに必要なファイルを追加して、herokuにデブロイしていこうと思います。
必要なものは

  • requrements.txt
  • setup.sh
  • Procfile
  • runtime.txt

requrements.txt

サーバーがコードを実行するためには、何をダウンロードするか必要があるかを認識させるものです。
streamlitや必要に応じてnumpypandasを入れてあげましょう。
下は一例です。

requrements.txt
streamlit==0.60.0
matplotlib==2.2.3 
numpy==1.15.1

App not compatible with buildpack
エラー出る
requirement.txt
runtime.txt作る
Procfile

setup.sh

setup.shrequirements.txtと同様にアプリがサーバー上で動作する環境を作るものです。emailは各々で変更してください。

setup.sh
mkdir -p ~/.streamlit/

echo "\
[general]\n\
email = \"your-email@domain.com\"\n\
" > ~/.streamlit/credentials.toml

echo "\
[server]\n\
headless = true\n\
enableCORS=false\n\
port = $PORT\n\
" > ~/.streamlit/config.toml

Procfile

サーバーがどういったコマンドで実行すればいいかを記述するものです。

web: sh setup.sh && streamlit run {name_of_app}.py

デプロイしていく

まずはログイン

$ heroku login

herokuはGitを使用してるので、いつもGitレポジトリの初期化を行います。

$ git init
$ git add .
$ git commit -m "first commit"

そしてherokuに新しいインスタンスを作成します。

$ heroku create

あとはpushして開くだけです。

$ git push heroku master
$ heroku open

私も試しにTSPを2-opt法で解けるアプリケーションをデプロイしました。

TSP_app.mov.gif

最後に

Pythonだけで気軽に成果物をそれっぽい形にできるStreamlitを、今回はデプロイしてみました。
デプロイまで非常に爆速でしたね。
Streamlit自体の便利さや爆速加減を知りたい方は、ぜひ前回の記事をご覧ください!!

次の記事

9
9
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
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?