解决方案Building wheel for opencv-python:安装卡顿的真相与解决方案。
当你 pip install opencv-python 或 pip install opencv-contrib-python 时,命令行停在 Building wheel for opencv-python (PEP 517) ... - 似乎卡住了。其实,这并非程序假死,而是 OpenCV 这个庞大的 C++ library 在进行 compile,这个过程非常耗时。
为何安装过程如此漫长?
这是因为 OpenCV 是一个庞大的 C++ library。pip 正在从源代码 compile 并 build Python wheel 包。compile 这种大型 C++ library 会大量消耗 CPU 和时间。
所以不如喝杯咖啡去,通常回来就装好了。。
我就是直接下班了,第二天来了就搞定了
实际安装耗时参考
实际耗时多久?这取决于 CPU 性能和环境:
- 现代
CPU: 通常需 10+ minutes。 - 老旧
CPU: 可能超过 20min。 Raspberry Pi: 需长达 2 hours。Docker Container环境下测试(compile from sources):Mac Studio (Apple M2 Max)耗时约 1400 seconds (23分钟)。CentOS Linux server耗时约 3100 seconds (51分钟)。
如何应对漫长等待?实用技巧助你掌握进度!
虽然 compile 时间无法缩短,但你可以通过以下方法优化体验:
-
优化方案一:升级
pip,尝试安装预编译的wheel包。
pip install --upgrade pip。新的pip版本支持manylinux2014 pre-built wheels,可避免本地compile,显著加快安装。 -
优化方案二:保持耐心。
如果升级pip后仍然在build,说明可能没有找到合适的pre-built wheel。请耐心等待,它不会无限期运行。 -
优化方案三:使用详细输出模式,查看进度。
通过pip install opencv-python -v或pip install opencv-python -vvv,pip会显示compile过程的详细日志,让你了解程序正在工作。这不加速安装,但提供进度反馈。
总结
下次当你安装 opencv-python 遇到长时间等待时,请记住:它没有卡死,它只是在进行一项耗时巨大的 compile 工作。
- 首先尝试升级你的
pip。 - 耐心等待,或使用
-v参数查看进度。
OpenCV 的功能强大,值得这份耐心。
浙公网安备 33010602011771号