Streamlit社区云部署含cv2的QR码应用遇导入错误求助
解决Streamlit社区云部署OpenCV导入失败问题
问题原因
Streamlit社区云的基础运行环境缺少OpenCV依赖的系统级图形库libGL.so.1,仅通过requirements.txt安装opencv-python无法解决这个系统库缺失的问题。
解决方案
方案1:改用无GUI版OpenCV(推荐)
服务器环境不需要OpenCV的GUI组件,直接用opencv-python-headless替代标准版:
- 打开项目里的
requirements.txt,把opencv-python替换成opencv-python-headless - 重新提交代码到GitHub,触发Streamlit社区云重新部署
方案2:安装系统级依赖(如果必须用标准版OpenCV)
如果你的代码依赖标准版OpenCV的GUI功能,需要额外添加系统库:
- 在项目根目录新建一个
packages.txt文件 - 在文件里写入一行内容:
libgl1-mesa-glx - 把
packages.txt和代码一起提交到GitHub,重新部署
这样就能解决ImportError: libGL.so.1的问题,让应用正常运行。
内容的提问来源于stack exchange,提问作者Mina Elkess Mark
相关产品推荐
相关产品推荐

