Azure App部署Flask应用报libgthread-2.0.so.0缺失错误如何解决
解决Azure App Service部署Flask时libgthread-2.0.so.0报错方案
这个报错是因为Azure App Service的Linux运行环境缺少系统级依赖包libglib2.0-0,该依赖不属于Python包,所以添加到requirements.txt无法生效。你替换opencv-python-headless无效大概率是部署缓存了旧版opencv-python,或是使用的headless版本过低仍存在系统依赖。
步骤1:清理Python依赖配置
- 编辑你的requirements.txt,完全删除
opencv-python相关条目,仅保留指定版本的无图形依赖版本:
opencv-python-headless>=4.5.5.62
- 提交该修改到你的GitHub仓库,确保后续部署使用该依赖配置。
步骤2:配置Azure启动命令安装系统依赖
- 登录Azure门户,进入对应的App Service资源页
- 左侧菜单栏选择「配置」,切换到「常规设置」标签页
- 在「启动命令」输入框中填入以下内容(如果你的Flask入口实例不是app.py中的app,需自行修改最后一段gunicorn参数):
apt-get update && apt-get install -y libglib2.0-0 libsm6 libxext6 libxrender-dev && gunicorn --bind=0.0.0.0 --timeout 600 app:app
- 点击「保存」,重启App Service后触发一次重新部署即可。
异常排查
如果按上述操作仍报错,可进入App Service的「SSH」控制台手动验证:
- 执行
pip list | grep opencv确认安装的是opencv-python-headless且版本符合要求,如有异常手动执行pip uninstall opencv-python opencv-python-headless -y && pip install opencv-python-headless>=4.5.5.62 - 执行
apt install -y libglib2.0-0安装依赖后,运行python -c "import cv2"验证是否仍报错
内容的提问来源于stack exchange,提问作者hawkeye
相关产品推荐
相关产品推荐

