首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >飞牛nas中使用终端部署python写的streamlit批量提取发票应用,非docker部署

飞牛nas中使用终端部署python写的streamlit批量提取发票应用,非docker部署

作者头像
软件小生活
发布2026-03-22 11:21:39
发布2026-03-22 11:21:39
680
举报
文章被收录于专栏:软件小生活软件小生活

这里使用飞牛自带的终端进行部署python写的streamlit应用(作者本人写的发票批量提取发票号码,发票日期,金额等)不用docker部署,有需求的可以私信了解,也可以定制开发各种软件以及脚本,下面直接进入主题,不说废话。

首先你得准备好你用python写的streamlit应用,上传到你的飞牛指定目录中,后面要用到。

第二步骤,打开终端,使用sudo -i切换到超级管理员账号(权限最大)使用cd进入到你刚刚存储的源码路径中

输入python3 --version没有输出任何版本信息的话,说明还没有安装python3环境,可以使用以下命令

代码语言:javascript
复制
sudo apt install -y python3 python3-pip python3-venv  # 安装Python3+pip+虚拟环境(推荐用虚拟环境隔离依赖)

第三步可以继续使用以下命令进行创建一个干净的虚拟环境,接着激活虚拟环境,在虚拟环境中进行操作,安装的所有依赖都会安装在虚拟环境中。

代码语言:javascript
复制
python3 -m venv venv  # 创建虚拟环境
source venv/bin/activate  #激活虚拟环境
pip3 install -r requirements.txt

最终使用如下命令进行启动应用

代码语言:javascript
复制
nohup streamlit run app.py --server.port 8501 --server.address 0.0.0.0 --browser.gatherUsageStats false --server.headless true > app.log 2>&1 &

出现URL: http://你的nas服务器ip地址:8501就说明启动成功,可以进行访问了

验证是否启动成功的命令

代码语言:javascript
复制
ps -ef | grep streamlit # 1. 查看streamlit进程是否运行
tail -f app.log # 2. 查看日志(无报错且显示Network URL即为成功)

当然还有其他可选的配置,可以根据AI提示写出步骤去执行,比如开机自启动这些配置等等,等着你自己想象和挖掘了。

下面配上大概步骤和配置。

代码语言:javascript
复制
--------------------------------------
# 如果你的nas,也就是飞牛linux系统中,还从来没有部署过应用,也就是没有安装过python环境

# 登录 NAS 终端/SSH 后执行
python3 --version  # 查看Python3版本
pip3 --version     # 查看pip3版本

# 飞牛 NAS 基于 Debian/Ubuntu 内核,用apt安装-------这里我是先直接进入到需要部署的应用文件夹中/vol1/1000/serverDeployment/streamlit_app,执行下面命令的我也不知道正不正确,暂时没去验证。
就是为了隔离依赖系统环境。该虚拟环境只对当前文件夹有用,
sudo apt update
sudo apt install -y python3 python3-pip python3-venv  # 安装Python3+pip+虚拟环境(推荐用虚拟环境隔离依赖)
--------------------------------------


# 1、每次重启应用都要激活虚拟环境(首次部署):
cd /vol1/1000/serverDeployment/streamlit_app # 进入主程序目录路径下
python3 -m venv venv  # 创建虚拟环境
source venv/bin/activate  #激活虚拟环境
pip3 install -r requirements.txt

# 2、退出虚拟环境的方法(不需要时执行):
deactivate  # 终端前缀的(venv)会消失

# 3、启动steamlit应用命令(后台运行)
# 方式1:单行命令(推荐,避免换行问题)
nohup streamlit run app.py --server.port 8501 --server.address 0.0.0.0 --browser.gatherUsageStats false --server.headless true > app.log 2>&1 &

# 方式2:反斜杠正确换行(每行末尾加 \,且\后无多余空格)
nohup streamlit run app.py \
--server.port 8501 \
--server.address 0.0.0.0 \
--browser.gatherUsageStats false \
--server.headless true > app.log 2>&1 &

# 验证是否启动成功
ps -ef | grep streamlit # 1. 查看streamlit进程是否运行
tail -f app.log # 2. 查看日志(无报错且显示Network URL即为成功)

# 1. 创建systemd服务文件,设置开机自启动改应用
sudo vim /etc/systemd/system/streamlit-demo.service
# (1)写入以下内容
----------------------------------------------------
[Unit]
Description=Streamlit Demo App on FeiNiu NAS
After=network.target

[Service]
User=root
WorkingDirectory=/volume1/apps/streamlit_demo
ExecStart=/volume1/apps/streamlit_demo/venv/bin/streamlit run app.py --server.port 8501 --server.address 0.0.0.0 --server.headless true --browser.gatherUsageStats false
Restart=always  # 进程崩溃自动重启
RestartSec=5

[Install]
WantedBy=multi-user.target
-----------------------------------------------
# (2) 启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable streamlit-demo  # 开机自启
sudo systemctl start streamlit-demo   # 启动服务
sudo systemctl status streamlit-demo # 查看服务状态
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档