怎样在 CentOS 8 上安装 Streamlit

介绍

Streamlit 是一个开源 Python 库,旨在为机器学习和数据科学创建自定义 Web 应用程序。 它是设计、构建和部署数据应用程序的最快方法之一。 本文解释了如何在 CentOS 8 服务器上运行基于 Streamlit 的 Web 应用程序。

1. 安装先决条件

部署一个 Vultr CentOS 8 VPS 实例。 登录为 . 更新 CentOS 8 服务器。

更新 Python

默认的 CentOS 存储库仅包含 Python 3.6.8,因此我们将使用 Python 源代码安装最新版本的 Python3。

安装编译 Python 源代码所需的依赖项。

# yum groupinstall 'development tools' -y && yum install wget openssl-devel bzip2-devel libffi-devel xz-devel -y

下载最新的 Python3 源代码。

# wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz

提取下载的python源代码。

# tar xvf Python-3.9.6.tgz

编译python源代码。

# cd Python-3.9.6 && ./configure --enable-optimizations

安装 Python 3.9.6。

# make altinstall

将 Python 3.9.6 设置为默认版本。

# 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

将 Python 3.9.6 中的 pip 设置为默认 pip。

# alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.9 1 && alternatives --set pip /usr/local/bin/pip3.9

检查 Python 和 pip 的当前版本。

# python -V && pip -V

改成 目录。

# cd

2. 安装流光

使用 Python pip 安装 Streamlit。

# pip install streamlit

3.安装tmux

当您在普通 SSH 会话上运行 Streamlit 时,一旦您退出 SSH 会话,Streamlit 进程就会关闭。 要在离开 SSH 会话时运行 Streamlit,请使用 多路复用器,终端多路复用器。 使用终端多路复用器将允许您在后台运行 Streamlit 进程。

要安装 tmux,请运行:

# yum install tmux -y

4. 在 CentOS 8 上运行 Streamlit

选项 1:使用默认端口

默认情况下,Streamlit 在端口 8501 上运行,因此您需要在防火墙上允许端口 8501。

# firewall-cmd  --permanent --add-port 8501/tcp

重新加载防火墙-cmd。

# firewall-cmd --reload

要创建 tmux 会话,请运行:

# tmux new -s StreamlitSession

你可以改变 StreamlitSession 到您喜欢的任何会话名称。

一旦你在终端多路复用器上,你现在可以运行你的主要 python 脚本。 确保你的 python 脚本在 /根/ 目录,然后运行:

# streamlit run main.py

改变 main.py 到您的python脚本文件名。

当您第一次运行 Streamlit 时,系统会提示您输入您的电子邮件地址。 如果您想接收 Streamlit 更新,请输入您的电子邮件地址,或者您可以直接按 ENTER 跳过它。

要查看您部署的 Web 应用程序,请访问 http://server_ipaddress:8501

选项 2:在 HTTP 端口上运行 Streamlit

要在 HTTP 端口 (80) 上部署您的 Web 应用程序,请首先在防火墙上允许 http 端口 (80)。 跑步:

# firewall-cmd --permanent --add-service=http

重新加载防火墙-cmd:

# firewall-cmd --reload

使用 Streamlit 运行你的 python 脚本:

# streamlit run main.py --server.port 80

改变 main.py 到您的python脚本文件名。

要查看您部署的 Web 应用程序,请访问 http://server_ipaddress

在 tmux 中使用 Streamlit

要停止 Streamlit 执行,请按 CTRL + C 要从 tmux 分离,请按 CTRL + B 然后按 D

要重新连接到 tmux,请运行:

# tmux attach -t StreamlitSession

改变 StreamlitSession 到您之前输入的会话名称。

要结束 tmux 会话,请按 CTRL + B 然后按 X 然后按 Y。

或者,您可以终止 tmux 进程。

要查找 tmux 的进程 ID,请运行:

# ps -ef |grep tmux

输出应如下所示:

root       49210       1  0 17:39 ?        00:00:00 tmux new -s StreamlitSession
root       50270    2811  0 17:42 pts/0    00:00:00 grep --color=auto tmux

49210 是个 PID 或进程 ID tmux 进程。

杀死 tmux 进程:

# kill <your process ID>

您还可以终止 Streamlit 进程。

要查找 Streamlit 的进程 ID,请运行:

# ps -ef |grep streamlit

输出应如下所示:

root       49729   49211  3 17:40 pts/1    00:00:04 /usr/local/bin/python3.9 /usr/local/bin/streamlit hello --server.port 80
root       50542    2811  0 17:43 pts/0    00:00:00 grep --color=auto streamlit

49729 是个 PID 或进程 ID Streamlit 过程。

终止 Streamlit 进程:

# kill <your process ID>

故障排除

如果您遇到一些问题或想了解更多信息,请访问 精简的文档.

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com