はじめに
ストリームライト データアプリを構築して共有するための最速の方法です。
これは、機械学習とデータサイエンス用のカスタムWebアプリケーションを作成するために設計されたオープンソースのPythonライブラリです。
このガイドでは、CentOS8でStreamlitを実行する方法について説明します。
以下の手順に従ってください:
Pythonを更新
Pythonソースコードを使用して、最新バージョンのPython3をインストールします。
- Pythonソースコードを更新するために必要な依存関係をインストールします。
yum groupinstall -y 'development tools'
yum install -y openssl-devel libffi-devel xz-devel wget bzip2-devel
- 最新のPython3をダウンロードします。
[root@unixcop ~]# wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
--2021-09-29 08:19:21-- https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
Resolving www.python.org (www.python.org)... 199.232.80.223, 2a04:4e42:54::223
Connecting to www.python.org (www.python.org)|199.232.80.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25755357 (25M) [application/octet-stream]
Saving to: 'Python-3.9.7.tgz'
Python-3.9.7.tgz 100%[===================>] 24.56M 522KB/s in 48s
2021-09-29 08:20:10 (520 KB/s) - 'Python-3.9.7.tgz' saved [25755357/25755357]
[root@unixcop ~]#
- ダウンロードしたtgzを抽出します。
tar xvf Python-3.9.7.tgz
- ディレクトリをPython-3.9.7に変更し、Pythonソースコードをコンパイルします。
cd Python-3.9.7
./configure --enable-optimizations
- Python3.9.7をインストールします。
make altinstall
- Python3.9.7をデフォルトバージョンとして設定します。
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
更新ピップ
- Pythonを最新バージョンに更新することに基づいてpipを更新します。
[root@unixcop Python-3.9.7]# /usr/local/bin/python3.9 -m pip install --upgrade pip
Requirement already satisfied: pip in /usr/local/lib/python3.9/site-packages (21.2.3)
Collecting pip
Downloading pip-21.2.4-py3-none-any.whl (1.6 MB)
|████████████████████████████████| 1.6 MB 553 kB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.2.3
Uninstalling pip-21.2.3:
Successfully uninstalled pip-21.2.3
Successfully installed pip-21.2.4
- Python3.9からpipを設定します。デフォルトのpipとして。
alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.9 1
alternatives --set pip /usr/local/bin/pip3.9
- Pythonとpipの現在のバージョンを確認してください。
[root@unixcop Python-3.9.7]# python --version
Python 3.9.7
[root@unixcop Python-3.9.7]# pip --version
pip 21.2.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
[root@unixcop Python-3.9.7]#
Streamlitをインストール
- pipを使用してStreamlitをインストールします。
pip install streamlit

Streamlitの構成と実行
次の2つの方法でstreamlitを実行できます。
方法(1):デフォルトのポートでStreamlitを実行する
Streamlitはポート8501で実行されます デフォルトでは。そのため、ファイアウォールで許可する必要があります。
firewall-cmd --permanent --add-port 8501/tcp
firewall-cmd --reload
SSHセッションでStreamlitを実行する場合。 SSHセッションを終了すると、Streamlitプロセスが閉じます。
そのため、 tmuxを使用してStreamlitを実行します これは、Streamlitをバックグラウンドで実行できるようにするターミナルマルチプレクサです。
- 以下のコマンドを実行して、streamlitのTMUXセッションを作成します。
tmux new -s StreamlitSession
- メインのPythonスクリプトを実行します。したがって、以下を実行します。
streamlit run example.py
注 : example.pyを変更します Pythonスクリプトファイル名に。
- ここで、初めてStreamlitを実行します。次に、メールアドレスを入力してください。または、スキップできます。
- Webアプリケーションを表示するには、ブラウザを開いてから http:// IP_address:8501にアクセスします。
方法(2):HTTPポートでStreamlitを実行する
- ファイアウォールでhttpport=80を許可する:
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
- Streamlitを使用してPythonスクリプトを実行します:
streamlit run example.py --server.port 80
注 : example.pyを変更します Pythonスクリプトファイル名に。
- Webアプリケーションを表示するには、 http:// IP_addressにアクセスします
Streamlitアプリをデプロイする
- Streamlitアプリをデプロイするには、最初に1つのPythonファイルを作成する必要があるため、次のコマンドを実行します。
vim main.py
- main.pyファイルに以下を追加します:
import streamlit as st
st.text_input("Your name", key="name")
st.session_state.name
- 保存して終了します。
- 次に、次のコマンドを使用してアプリをWebにデプロイします。
streamlit run main.py --server.port 80




結論
この記事では、CentOS8にStreamlitをインストールする方法を説明しました。
インストールプロセスが正常に完了し、最初のアプリもデプロイされました。