2
4

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 1 year has passed since last update.

Python Streamlitを簡単に使ってみる

Last updated at Posted at 2022-05-28

SreamlitはPythonで実行できるWebアプリケーション開発のフレームワークです。
Webサーバ機能や開発フレームワークがオールインワンでパッケージされていて、
PythonだけでWebアプリケーションが簡単に公開できます。

1. Streamlitを使えるようにする

① rootユーザでstreamlitをインストールします

# pip install streamlit

② テストでデモアプリを起動します

$ stremelit hello

0.png
※WWWアドレスが表示されてそこをみるように表示されます。

③ ブラウザで指定されたアドレスを入力して見てみます
01.png
デモページが表示されました。

2. Streamlitで自分のWebサイトを作ってみる

実際にテキストの入力や、コードブロック、表や画像を取り扱ってみる。

① ファイルを作成する

test.py

import streamlit as st   # streamlitのライブラリを読み込む
from PIL import Image # 画像を扱うためライブラリを読み込む
import pandas as pd # 表を扱うためpandasライブラリを読み込む

st.title('Streamlitを試しに使ってみる') # ページのタイトル 
st.write('これが私の作るWebサイトです') # テキストを追加


# Streamlitでコードブロックを書いてみる

st.write('■ Streamlitでコードブロックを書いてみる')
code = '''def hello():
     print("Hello, Streamlit!")'''
st.code(code, language='python')


# 表を追加してみる(データフレーム形式)

st.write('■ 表を表示')
df = pd.DataFrame({
    '1列目' : ['トマト', 'きゅうり', 'なすび'],
    '2列目' : ['100円', '200円', '300円'],
})

st.table(df)

# 画像を挿入してみる

st.write('■ 画像を表示')
img = Image.open('test.png') #ファイルtest.pyと同階層
st.image(img, use_column_width=True)

② Streamlitを実行する

$ streamlit run test.py 

1.png
※WWWアドレスが表示されてそこをみるように表示されます。

③ ブラウザで指定されたアドレスを入力して見てみます
2.png

意図するものが表示できました。

3. まとめ

今回はアプリを公開すると言うよりも基本的なテキストの入力、表や画像の取り扱いについて記載しました。実際に使っていて、コードに記述の誤りがあった場合とかブラウザを開くとデバック内容が表示されたりして、修正が楽にできました。
もっと詳しい内容を見たい場合ですが、Streamlitのドキュメントサイトを見てみて色々試してみてください。
https://docs.streamlit.io/library/api-reference


2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?