部署自定义PyTorch模型到Streamlit时遇ImportError求助
解决Streamlit部署时OpenCV缺失libGL.so.1的问题
问题原因
部署环境(Streamlit Cloud容器)缺少OpenCV运行所需的系统级依赖库libGL.so.1,本地环境因预装了完整的图形相关系统库,所以能正常运行。
解决方案
方法1:用Streamlit支持的packages.txt安装系统依赖
在项目根目录创建
packages.txt文件,添加以下内容:libgl1-mesa-glx libglib2.0-0这两个包分别提供缺失的
libGL.so.1和OpenCV依赖的其他核心系统库。优化
requirements.txt中的OpenCV依赖(可选但推荐):
将原有的opencv<=4.5.1替换为无GUI依赖的headless版本,更适配服务器部署场景:pillow<=9.2.0 numpy<=1.21.0 streamlit==1.11.0 torch<=1.8.2+cu111 opencv-python-headless<=4.5.1
方法2:若使用Docker部署(补充方案)
如果是自行用Docker部署应用,在Dockerfile中添加系统依赖安装命令:
# 安装OpenCV所需系统库 RUN apt-get update && apt-get install -y --no-install-recommends \ libgl1-mesa-glx \ libglib2.0-0 \ && rm -rf /var/lib/apt/lists/*
内容的提问来源于stack exchange,提问作者afrologicinsect
相关产品推荐
相关产品推荐

