I'm using Google cloud functions Gen2 and Python 3.10 and the latest version of gcloud cli and opencv-python==4.6.0.66 and functions-framework==3.2.0
I can't deploy on google cloud, because import cv2 is causing this error
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
at .import_module ( /opt/python3.10/lib/python3.10/importlib/__init__.py:126 )
at .bootstrap ( /layers/google.python.pip/pip/lib/python3.10/site-packages/cv2/__init__.py:153 )
at .<module> ( /layers/google.python.pip/pip/lib/python3.10/site-packages/cv2/__init__.py:181 )
at .<module> ( /workspace/functions.py:20 )
at .<module> ( /workspace/endpoints.py:9 )
at .<module> ( /workspace/main.py:2 )
at ._call_with_frames_removed ( <frozen importlib._bootstrap>:241 )
at .exec_module ( <frozen importlib._bootstrap_external>:883 )
at .create_app ( /layers/google.python.pip/pip/lib/python3.10/site-packages/functions_framework/__init__.py:289 )
at ._cli ( /layers/google.python.pip/pip/lib/python3.10/site-packages/functions_framework/_cli.py:37 )
at .invoke ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:760 )
at .invoke ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:1404 )
at .main ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:1055 )
at .__call__ ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:1130 )
at .<module> ( /layers/google.python.pip/pip/bin/functions-framework:8 )
If I use opencv-python-headless instead, I get this error
ImportError: Unable to find zbar shared library
at .load ( /layers/google.python.pip/pip/lib/python3.10/site-packages/pyzbar/zbar_library.py:65 )
at .load_libzbar ( /layers/google.python.pip/pip/lib/python3.10/site-packages/pyzbar/wrapper.py:127 )
at .zbar_function ( /layers/google.python.pip/pip/lib/python3.10/site-packages/pyzbar/wrapper.py:148 )
at .<module> ( /layers/google.python.pip/pip/lib/python3.10/site-packages/pyzbar/wrapper.py:151 )
at .<module> ( /layers/google.python.pip/pip/lib/python3.10/site-packages/pyzbar/pyzbar.py:7 )
at .<module> ( /workspace/functions.py:22 )
at .<module> ( /workspace/endpoints.py:9 )
at .<module> ( /workspace/main.py:2 )
at ._call_with_frames_removed ( <frozen importlib._bootstrap>:241 )
at .exec_module ( <frozen importlib._bootstrap_external>:883 )
at .create_app ( /layers/google.python.pip/pip/lib/python3.10/site-packages/functions_framework/__init__.py:289 )
at ._cli ( /layers/google.python.pip/pip/lib/python3.10/site-packages/functions_framework/_cli.py:37 )
at .invoke ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:760 )
at .invoke ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:1404 )
at .main ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:1055 )
at .__call__ ( /layers/google.python.pip/pip/lib/python3.10/site-packages/click/core.py:1130 )
at .<module> ( /layers/google.python.pip/pip/bin/functions-framework:8 )
OpenCV is a must-have requirement. Can this error be fixed or should I deploy the project elsewhere?
Sum up of the problem
First error with libgl can be solved by installing opencv-python-headless (which is CPU only, and doesn't require libgl)
pyzbar in the same way requires zbar to be installed. (can't be done in cloud functions environment)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With