项目场景:
使用docker对paddleocr的python项目进行封装
问题描述
File "/word_sort/app.py", line 5, in <module>
import cv2
File "/usr/local/lib/python3.8/site-packages/cv2/__init__.py", line 181, in <module>
bootstrap()
File "/usr/local/lib/python3.8/site-packages/cv2/__init__.py", line 153, in bootstrap
native_module = importlib.import_module("cv2")
File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
[2022-10-01 10:06:20 +0000] [9] [INFO] Worker exiting (pid: 9)
[2022-10-01 10:06:20 +0000] [7] [INFO] Shutting down: Master
[2022-10-01 10:06:20 +0000] [7] [INFO] Reason: Worker failed to boot.
解决方案:
cv2解决此问题的更简单方法是您可以更新软件包并安装正常运行所需的其他依赖项。
这些依赖项将主要存在于您的本地计算机中,因此当您使用基于 python 的图像执行 docker 构建时,应用程序运行没有任何问题,您将收到此错误。
只需将以下几行添加到您的行DockerFile中即可解决此问题。这将确保更新软件包并安装运行所需的其他软件包cv2。
RUN apt-get update
RUN apt-get install ffmpeg libsm6 libxext6 -y