一: "ImportError: No module named cv2"错误
1.1 系统没有安装OpenCV视觉库,安装一下即可
pip install opencv-python
注:pip下载速度过慢的话可以设置pip的源,我这里使用的是清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ opencv-python
1.2 如果出现一下错误信息
File "setup.py", line 448, in <module>
main()
File "setup.py", line 99, in main
% {"ext": re.escape(sysconfig.get_config_var("EXT_SUFFIX"))}
File "/usr/local/python2/lib/python2.7/re.py", line 210, in escape
s = list(pattern)
TypeError: 'NoneType' object is not iterable
----------------------------------------
ERROR: Command errored out with exit status 1: /docker_netbase/venv/bin/python /docker_netbase/venv/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpsyQoVT Check the logs for full command output.
报错原因:Opencv 最新版不再支持 Python 2.7,而 pip install opencv-python 命令会下载最新版本Opencv。
因此需要安装时指定opencv的老版本,最后一个支持 Python 2.7 的 Opencv 版本是 4.2.0.32。我使用的是4.1.1.26版本
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ opencv-python==4.1.1.26
二 : ImportError: libSM.so.6: cannot open shared object file: No such file or directory 错误解决
File "/docker_netbase/venv/lib/python2.7/site-packages/cv2/__init__.py", line 3, in <module>
from .cv2 import *
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
2.1 报错原因:缺少依赖库
解决方法安装缺少依赖库:
# CenteOS 系统使用
sudo yum install libXext libSM libXrender
# Ubantu 系统使用
apt update && apt install -y libsm6 libxext6
出现一下以下信息表示安装成功
Installed:
libSM.x86_64 0:1.2.1-2.el6 libXext.x86_64 0:1.3.3-1.el6 libXrender.x86_64 0:0.9.8-2.1.el6_8.1
Dependency Installed:
libICE.x86_64 0:1.0.6-1.el6 libX11.x86_64 0:1.6.3-2.el6 libX11-common.noarch 0:1.6.3-2.el6 libXau.x86_64 0:1.0.6-4.el6 libxcb.x86_64 0:1.11-2.el6