python2 安装 cv2 踩的坑

一: "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 
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值