當你 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 的功能強大,值得這份耐心。