Python Can';不要在elastic beanstalk上使用带有烧瓶服务器的opencv

Python Can';不要在elastic beanstalk上使用带有烧瓶服务器的opencv,python,amazon-web-services,opencv,amazon-elastic-beanstalk,Python,Amazon Web Services,Opencv,Amazon Elastic Beanstalk,所以我运行的是一个非常基本的elastic beanstalk服务器。它是一个使用linux 2的python 3.7版(并在3.8版上试用过)服务器。我尝试用application.py安装一个简单的服务器,如下所示: from flask import Flask import cv2 application = Flask(__name__) @application.route("/") def index(): return "Hello W

所以我运行的是一个非常基本的elastic beanstalk服务器。它是一个使用linux 2的python 3.7版(并在3.8版上试用过)服务器。我尝试用application.py安装一个简单的服务器,如下所示:

from flask import Flask
import cv2

application = Flask(__name__)


@application.route("/")
def index():
    return "Hello World!"


# run the app.
if __name__ == "__main__":
    application.debug = True
    application.run()

还有一个requirements.txt文件,其中包含如下所示的导入

click==7.1.2
Flask==1.1.2
itsdangerous==1.1.0
Jinja2==2.11.3
MarkupSafe==1.1.1
numpy==1.20.2
opencv-python==4.4.0.46
Werkzeug==1.0.1
每当我尝试导入cv2时,elastic beanstalk就会出错。这是错误报告

----------------------------------------
/var/log/web.stdout.log
----------------------------------------
Apr 21 21:04:29 ip-172-31-88-38 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
Apr 21 21:04:29 ip-172-31-88-38 web: self.callable = self.load()
Apr 21 21:04:29 ip-172-31-88-38 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
Apr 21 21:04:29 ip-172-31-88-38 web: return self.load_wsgiapp()
Apr 21 21:04:29 ip-172-31-88-38 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
Apr 21 21:04:29 ip-172-31-88-38 web: return util.import_app(self.app_uri)
Apr 21 21:04:29 ip-172-31-88-38 web: File "/var/app/venv/staging-LQM1lest/lib/python3.7/site-packages/gunicorn/util.py", line 359, in import_app
Apr 21 21:04:29 ip-172-31-88-38 web: mod = importlib.import_module(module)
Apr 21 21:04:29 ip-172-31-88-38 web: File "/usr/lib64/python3.7/importlib/__init__.py", line 127, in import_module
Apr 21 21:04:29 ip-172-31-88-38 web: return _bootstrap._gcd_import(name[level:], package, level)
Apr 21 21:04:29 ip-172-31-88-38 web: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
Apr 21 21:04:29 ip-172-31-88-38 web: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
Apr 21 21:04:29 ip-172-31-88-38 web: File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
Apr 21 21:04:29 ip-172-31-88-38 web: File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
Apr 21 21:04:29 ip-172-31-88-38 web: File "<frozen importlib._bootstrap_external>", line 728, in exec_module
Apr 21 21:04:29 ip-172-31-88-38 web: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
Apr 21 21:04:29 ip-172-31-88-38 web: File "/var/app/current/application.py", line 2, in <module>
Apr 21 21:04:29 ip-172-31-88-38 web: import cv2
Apr 21 21:04:29 ip-172-31-88-38 web: File "/var/app/venv/staging-LQM1lest/lib64/python3.7/site-packages/cv2/__init__.py", line 5, in <module>
Apr 21 21:04:29 ip-172-31-88-38 web: from .cv2 import *
Apr 21 21:04:29 ip-172-31-88-38 web: ImportError: libGL.so.1: cannot open shared object file: No such file or directory
----------------------------------------
/var/log/web.stdout.log
----------------------------------------
4月21日21:04:29 ip-172-31-88-38网络:文件“/var/app/venv/staging-lqm1est/lib/python3.7/site packages/gunicorn/app/base.py”,wsgi第67行
Apr 21 21:04:29 ip-172-31-88-38 web:self.callable=self.load()
4月21日21:04:29 ip-172-31-88-38网络:文件“/var/app/venv/staging-lqm1est/lib/python3.7/site packages/gunicorn/app/wsgiapp.py”,第58行,已加载
4月21日21:04:29 ip-172-31-88-38 web:返回自加载
4月21日21:04:29 ip-172-31-88-38网络:文件“/var/app/venv/staging-lqm1est/lib/python3.7/site packages/gunicorn/app/wsgiapp.py”,第48行,在load_wsgiapp中
Apr 21 21:04:29 ip-172-31-88-38 web:返回util.import\u应用程序(self.app\u uri)
4月21日21:04:29 ip-172-31-88-38网页:文件“/var/app/venv/staging-lqm1est/lib/python3.7/site packages/gunicorn/util.py”,导入应用程序第359行
4月21日21:04:29 ip-172-31-88-38网络:mod=importlib.import_模块(模块)
4月21日21:04:29 ip-172-31-88-38 web:File“/usr/lib64/python3.7/importlib/_init__.py”,第127行,在导入模块中
4月21日21:04:29 ip-172-31-88-38网络:返回引导。gcd导入(名称[级别:],包,级别)
4月21日21:04:29 ip-172-31-88-38 web:文件“”,第1006行,在导入中
Apr 21 21:04:29 ip-172-31-88-38 web:文件“”,第983行,在“查找”和“加载”中
4月21日21:04:29 ip-172-31-88-38网络:文件“”,第967行,在“查找”和“加载”中解锁
4月21日21:04:29 ip-172-31-88-38网络:文件“”,第677行,在“加载”中
Apr 21 21:04:29 ip-172-31-88-38 web:文件“”,第728行,在exec_模块中
4月21日21:04:29 ip-172-31-88-38 web:文件“”,第219行,在“调用”中,删除了“帧”
4月21日21:04:29 ip-172-31-88-38网络:文件“/var/app/current/application.py”,第2行,在
4月21日21:04:29 ip-172-31-88-38网络:导入cv2
4月21日21:04:29 ip-172-31-88-38网络:文件“/var/app/venv/staging-lqm1est/lib64/python3.7/site packages/cv2/_uu init__;.py”,第5行
Apr 21 21:04:29 ip-172-31-88-38 web:从.cv2导入*
Apr 21 21:04:29 ip-172-31-88-38 web:ImportError:libGL.so.1:无法打开共享对象文件:没有这样的文件或目录

有人对我可能做错的地方有什么建议吗?非常感谢您提供的任何帮助

您必须在EB实例上安装
mesa libGL
。例如,使用:

.ebextensions/10\u安装\u opengl.config

packages: 
  yum:
    mesa-libGL: []