3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Streamlitを使ってpythonのみでwebアプリを爆速デプロイ

Posted at

概要

pythonを学びだした人向けに、書いたコードや作成したwebアプリを公開するサービスを探していたところ、簡単にデプロイできるStreamlitというサービスを発見しました!

Streamlit

Pythonでデータアプリやダッシュボードを簡単に作成できるフレームワーク。Web開発の知識がなくても、Pythonのスクリプトだけでインタラクティブなアプリケーションを作れるとのこと

検証

1.ライブラリをインストール(事前にvenvでpythonの仮想環境を作成しています)

$ pip install streamlit

2.コード書く

import streamlit as st
import random

# クリックしたときのメソッド
def generate_face():
    santa_hat = [
        "   *    ",
        "  ###   ",
        " #####  ",
        "####### ",
        " =====  "
    ]
    eyes = ["^_^", "o_o", "O_O", "T_T", ">_<", "-_-", "°_°"]
    mouths = ["_", ".", "o", "ω", "Д", "皿", "∀"]
    arms = ["", "\\", "/", "ヽ", "ノ"]
    eye = random.choice(eyes)
    mouth = random.choice(mouths)
    left_arm = random.choice(arms)
    right_arm = random.choice(arms)

    # 顔文字を組み立て
    face = f"{left_arm}({eye[0]}{mouth}{eye[-1]}){right_arm}"
    return "\n".join(santa_hat + [face])

st.title("顔文字生成")
# ボタンを押したときの挙動
if st.button("冬仕様"):
    face = generate_face()
    st.code(face)

3.ローカル実行で動作確認

$ streamlit run app.py

  Local URL: http://localhost:8501
  Network URL: http://xxx.xx.x.x

検証1.png

簡単ではありますが、デプロイする用のアプリの動作確認はできました。
ではデプロイしてみましょう。

デプロイ

1.streamlitの以下のURLよりアカウントを作成する必要があります。
https://streamlit.io/

2.github側にもアカウントを作成し書いたコードをpushしておく必要があります

※githubのアカウント作成方法やpush方法はここでは割愛します。

3.streamlitのサイトからDeploying? Tryのリンクがあるのでクリックする

4.サインインするとsettingsからgithubのアカウント連携を求められるので画面の操作に従って連携します

5.以下画像のdeploynowを選択し、前述で書いたコードのレポジトリを選択します

streamlit.png

6.deployボタンを押下
数十秒後にデプロイが完了しいかにデプロイされました

なんと1時間かからずデプロイできちゃいました。
感覚としてはpythonでSPAのようなアプリ作成ができそうな感じです
streamlitのライブラリでボタン以外のコントロールやこのサービス上で
sqlliteもつかえるとのことなので、簡単なデータ保持とかもできそうですね。

書いたコードをWeb上で試したいとかの用途には使えそうなのでぜひお試しください。。

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?