目录

  • 1 问题背景
  • 2 问题探索
  • 3 问题解决
  • 4 告别Bug

1 问题背景

环境:

  • Ubuntu20.04
  • Python3.6

现象:终端输出类似下面的命令,并卡住不动

Building wheel for opencv-python (PEP 517) ... 

2 问题探索

首先,OpenCV较旧的Python版本不需要进行滚轮编译,因此造成编译在

Building wheel for opencv-python (PEP 517)

处停止。为了防止因为pip版本较旧引起干扰,首先运行

pip install --upgrade pip

更新pip版本,接着再次安装

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

接着大概率能解决Building wheel for opencv-python (PEP 517),但是遇到新的现象,终端运行到下面指令时卡住

building wheel for opencv(pyproject.toml)  ...

我们希望看看后端到底是什么情况,用--verbose运行安装命令跟踪安装过程,也可以检查安装的百分比

[ 48%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/src/layers/fast_convolution/fast_convolution.avx2.cpp.o[ 48%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/layers/layers_common.avx2.cpp.o[ 48%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/int8layers/layers_common.avx2.cpp.o[ 48%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/layers/layers_common.avx512_skx.cpp.o[ 48%] Building CXX object modules/dnn/CMakeFiles/opencv_dnn.dir/int8layers/layers_common.avx512_skx.cpp.o[ 48%] Linking CXX static library ../../lib/libopencv_dnn.a[ 48%] Built target opencv_dnn[ 48%] Processing OpenCL kernels (features2d)[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/affine_feature.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/agast.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/agast_score.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/akaze.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/bagofwords.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/blobdetector.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/brisk.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/draw.cpp.o[ 49%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/dynamic.cpp.o[ 50%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/evaluation.cpp.o[ 50%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/fast.cpp.o[ 50%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/fast_score.cpp.o[ 50%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/feature2d.cpp.o[ 50%] Building CXX object modules/features2d/CMakeFiles/opencv_features2d.dir/src/gftt.cpp.o

发现后端确实一直在运行,由于OpenCV体积较大,编译时间较长,导致不显示安装进度的化,前端出现假死现象,静静等待即可。

3 问题解决

更新pip版本

pip install --upgrade pip

显示安装进程

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose

等待安装完成

文章最后,推荐一个研究深度学习都会碰到的bug解析
【已解决】探究CUDA out of memory背后原因,如何释放GPU显存?

4 告别Bug

本文收录于《告别Bug》专栏,该专栏记录人工智能领域中各类Bug以备复查,文章形式为:问题背景 + 问题探索 + 问题解决,订阅专栏+关注博主后可通过下方名片联系我进入AI技术交流群帮忙解决问题


更多精彩专栏

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系