🤖
LinuxにStreamlit入れてみた
Oracle Linux8
必要なモジュールのインストールと設定
$ yum groupinstall 'development tools' -y && yum install
$ wget openssl-devel bzip2-devel libffi-devel xz-devel -y
$ wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
$ tar xvf Python-3.9.6.tgz
$ cd Python-3.9.6 && ./configure --enable-optimizations
$ make altinstall
$ alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 1 && alternatives --set python3 /usr/local/bin/python3.9 && echo "2" | alternatives --config python
$ /usr/local/bin/python3.9 -m pip install --upgrade pip
$ alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.9 1 && alternatives --set pip /usr/local/bin/pip3.9
$ python3 -V && pip -V
$ cd
$ pip3 install streamlit
$ firewall-cmd --permanent --add-port 8501/tcp
$ firewall-cmd --reload
$ vim app.py
$ streamlit run app.py
$ systemctl stop firewalld
app.py
import streamlit as st
import numpy as np
import pandas as pd
"""
# サンプル
5 x 5の表データを表示する
"""
dataframe = pd.DataFrame(
np.random.randn(5, 5),
columns=('col %d' % i for i in range(5)))
st.table(dataframe)
ブラウザで確認してみる
Ubuntu 20.04
$ sudo apt update -y && sudo apt upgrade -y
$ sudo apt install python3-pip -y
$ pip install streamlit
$ vim app.py
app.py
import streamlit as st
import numpy as np
import pandas as pd
"""
# サンプル
5 x 5の表データを表示する
"""
dataframe = pd.DataFrame(
np.random.randn(5, 5),
columns=('col %d' % i for i in range(5)))
st.table(dataframe)
Firewallの設定
$ sudo ufw enable
$ sudo ufw allow 8501
$ udo ufw reload
$ sudo reboot
ブラウザで確認してみる
Ubuntuにstreamlitインストールしてみる~Docker編~
公式ドキュメントを参考に実施してみました。
Dockerの設定
$ sudo mkdir app
$ cd app/
$ sudo vim Dockerfile
$ sudo vim requirements.txt
$ sudo vim streamlit_app.py
$ sudo docker build -t streamlit .
$ sudo docker images
$ sudo docker run -p 8501:8501 streamlit
Discussion