在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
所以我不太确定上面的错误指向什么。
和帮助者.py这就是我导入它的方式。
import requests
import cv2
libGL.so与程序包libgl1一起安装,这里的pip3 install opencv-python
是不够的。
通过ssh连接aws并运行;
apt-get update && apt-get install libgl1
或者更好的是,考虑为项目使用docker容器,并将安装命令添加到Dockerfile中。
此外,作为https://stackoverflow.com/a/66473309/12416058建议,包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