aws eb opencv-python "web: from .cv2 import"

aws eb opencv-python "web: from .cv2 import"

在 aws-eb 中,我部署了一个应用程序 -django-,并且该过程没有错误。运行状况为绿色,正常,但页面出现内部服务器错误。所以我检查了日志并看到了以下错误。

... web: from .cv2 import  
... web: ImportError: libGL.so.1: cannot open shared object file: No such file or directory

在部署过程中安装 requirements.txt 时必须安装 opencv。因为它包括 opencv-python==4.5.5.64 所以我不太确定上面的错误指向什么。

和helpers.py这就是我导入它的方式。

import requests
import cv2

libGL.so 与软件包 libgl1 一起安装,pip3 install opencv-python 在这里不够。

通过 ssh 和 运行;

连接 aws
apt-get update && apt-get install libgl1 

或者更好的是,考虑为项目使用 docker 容器并将安装命令添加到 Dockerfile。

此外,正如 所建议的那样,Package python3-opencv 包括 OpenCV 的所有系统依赖项。 因此安装它可能会防止进一步的错误。

安装python3-opencv;

apt-get update && apt-get install -y python3-opencv
pip install -r requirements.txt

在 Dockerfile 中安装:

RUN apt-get update && apt-get install -y python3-opencv
RUN pip install -r requirements.txt