win7 32位 numpy opencv scipy各种ImportError OSError报错问题

ImportError、OSError问题记录

  • 问题说明
  • 解决结果
  • 总结debug经验
  • 总结

问题说明

记录一次实际开发中的opencv、numpy、scipy版本报错问题,问题情况如下:

  1. ImportError: DLL load failed while importing cv2:找不到指定的模块
    cv报错
  2. ImportError: numpy.core.multiarray failed to import
    win7 32位 numpy opencv scipy各种ImportError OSError报错问题_第1张图片
  3. OSError [WinError 127]找不到指定的程序。:"\site-packages\scipy\.libs"
    win7 32位 numpy opencv scipy各种ImportError OSError报错问题_第2张图片
  • win7系统、32位

解决结果

win7 32位 numpy opencv scipy各种ImportError OSError报错问题_第3张图片

  • numpy 1.17.3
  • opencv-python 4.4.0.46
  • scipy 1.4.0

总结debug经验

一个半小时解决的debug过程如下:

  • 一开始是numpy报错,也就是问题2,所以使用了安装卸载numpy的方案,但是没有用!依然是这个报错,没有出现其他报错!
  • 所以联想到是什么依赖了numpy,看问题2报错信息是from cv2 import *,因此是opencv-python库。一开始使用的是opencv4.5.1.48,所以opencv更新到最新之后,出现问题一报错。
  • 网上有个博主推荐了常用版本opencv-python 4.4.0.46,安装之后,提示信息numpy版本>=1.17.3,靠谱方案直接装了numpy1.17.3,运行之后出现了问题3报错。
  • 更新了最新的scipy,版本竟然也是1.17.3,我还以为是numpy关联了版本。后来仔细一想,如果numpy关联了scipy,拉取numpy1.17.3版本时就会拉取对应的scipy版本。到pypi官网上一看,果然,只是巧合!
    win7 32位 numpy opencv scipy各种ImportError OSError报错问题_第4张图片
  • 问题3依然出现。联想到scipy既然是依赖numpy,所以numpy1.17.3版本的发布时间是19-10-17,那这个时间之后的scipy版本或许可以!发现正好同一天有个版本scipy1.4.0,安装之后,测试果然ok!
    numpy:
    win7 32位 numpy opencv scipy各种ImportError OSError报错问题_第5张图片
    scipy:
    win7 32位 numpy opencv scipy各种ImportError OSError报错问题_第6张图片

总结

这个版本是我在win7系统,32位电脑上使用的,看到网上还有各种方案,什么scipy依赖MKL的等等。建议小伙伴们遇到问题时,一定要仔细思考报错信息,最好记录下自己解决问题的思路,以避免方案太多,不知道哪些试过哪些没有试过。或许解决结果对你用处不大,但是debug的整个思路是我想要表达的,希望大家遇到问题不要放弃,尽可能去尝试,加油!以上就是解决问题的全部内容啦,有用的话点赞收藏!

你可能感兴趣的:(python,opencv,python,计算机视觉,numpy,scipy)