Pythonの仮想環境でstreamlitを使う方法まとめ
目次
こんにちは。
今日はpythonでstreamlitを使ってみようと思います。
streamlitって何だ
python上で扱えるpandasのDataFrameやmatplotlibで出力したグラフをブラウザで見ることができるツールです。
ブラウザで表示できるだけでなく、ボタンなどのインターフェースで対話的に操作して見た目や集計内容を変えたりできます。
つまりウェブブラウザで動くアプリケーションが簡単に作ることができます。
仮想環境の目的
ローカル環境にあれこれのパッケージを次々と入れていくと、環境がごちゃごちゃになりすぎてよくわからなくなります。
すると、pip install
したのにimport
できないとか、コマンドが実行できない(Command not found)とかいうエラー状況に陥ってしまいます。
そうならないために、仮想環境を作り、その中にパッケージをインストールします。
デバッグ環境
ちなみに私が今回使用しているMacの環境です。
- Mac OS : Catalina 10.15.4
- Terminal : zsh 5.7.1
- Python3 version : 3.8.2
やってみる
今回使うプロジェクトのフォルダをproj
として、ターミナルで実行していきます。
プロジェクトディレクトリに移動
cd proj
仮想環境の作成
python3 -m venv venv
ここではvenvという名前のvenvを作ってるので、2回venvが出てきます。
すると、venvというフォルダができて、なかに色々できてます。新しくインストールするパッケージもこの中に入れていきます。
仮想環境に入る
source venv/bin/activate
venvがactivateすると、ターミナルの頭に(venv)
とか付きます。
パッケージインストール
pip install streamlit
数分くらい時間がかかります。Successfully ...
とか出てたら成功です。
仮想環境の終了
終了したいときは以下のコマンドを打てば、仮想環境から出て(venv)
がなくなるはずです。
deactivate
また入りたいときは上記の source
コマンドを実行します。
streamlitの使い方
いよいよ本題で、streamlitの使い方です。
まずはデフォルトで用意されているHello worldが動くことを確認しましょう。
以下、仮想環境に入ってターミナルが(venv)
の状態で実行します。
Hello World
streamlit hello
もし仮想環境を作らない場合、streamlit のコマンドが見つからないエラー command not found
とか言われる可能性があります。
環境変数PATHの見直しとか面倒なのでおとなしくvenv作りましょう。
上のHelloコマンドを実行すると、何やらLocal Host:8501
が立ち上がり、自動的にブラウザが(おそらく)起動して、Helloと表示されるページに飛ばされると思います。
これで成功です。
Pythonファイルを作ってみる。
試しにDataFrameを表示するアプリtest.py
を作ってみます。
import numpy as np
import pandas as pd
import streamlit as st
array = np.random.randn(10,2) * [100, 100]
df = pd.DataFrame(array,columns=['A', 'B'])
st.title('Random Numbers')
st.table(df)
st.table
でDataFrameのテーブルを表示できます。
streamlitの実行
streamlit run ${filename.py}
先程つくったファイルはtest.py
なので、streamlit run test.py
で実行できます。
以下のようなページが生成されます。
シンプルでカッコいいですね。
streamlitの終了
ターミナルでCtrl + C
を押すと、Local hostが停止して終了できます。
ブラウザの方は適当に閉じてOKです。
まとめ
というわけでPythonで仮想環境の準備と、streamlitの実行・終了までの方法をまとめてみました。
より詳しいstreamlitの使い方は公式ドキュメントからどうぞ。
けっこう色々できそうなので、遊び甲斐がありそうです!