当你 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
的功能强大,值得这份耐心。