环境里出现问题 ImportError: libGL.so.1或libSM.so.6
若代码中有
import cv2
在docker种,由于docker中基础依赖不完整,可能报错 ImportError: libGL.so.1: cannot open shared object file: No such file or directory
有2种解决途径:
1. 执行下面命令即可
apt update apt install libgl1-mesa-glx
2. 对于没有apt命令权限的情况,—— 参考
这条命令安装的opencv在本地的环境中可以使用,但无法在docker里使用。
pip install opencv-python # 这是原来安装opencv-python的命令
需要改用下面的命令。
pip install opencv-python==3.4.2.17 # 安装版本不要太高 pip install opencv-python-headless==3.4.2.17 # 安装这个版本的opencv(亲测可用),4.1.2.30版本也可
# 或 仅使用headless版
pip install opencv-python-headless=4.1.2.30
** 此方法对libSM.so.6缺失等cv2的问题也有效
** 可以查看 anaconda3/envs/env_name/lib/python3.7/site-packages/cv2/ 目录的内容,
·如果有 cv2, data, gapi, mat_wrapper, utils等目录存在,一般就不会有问题;
·若只有data等一两个目录,在docker内就可能报错ImportError。 ——3.4.2.17版本的不会
浙公网安备 33010602011771号