Mac下pip安装opencv遇ModuleNotFoundError: No module named 'ninja'求助
安装opencv-python时subprocess-exited-with-error错误解决
错误详情
执行pip install opencv-python时出现构建失败,核心错误输出如下:
CMake Error at CMakeLists.txt:2 (PROJECT): Running '/Library/Frameworks/Python.framework/Versions/3.10/bin/ninja' '--version' failed with: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/bin/ninja", line 5, in <module> from ninja import ninja ModuleNotFoundError: No module named 'ninja'
解决步骤
- 卸载可能冲突的Python版
ninja包:pip uninstall -y ninja - 安装系统级Ninja构建工具:
- macOS(通过Homebrew):
brew install ninja - Debian/Ubuntu:
sudo apt-get install ninja-build - CentOS/RHEL:
sudo yum install ninja-build
- macOS(通过Homebrew):
- 让CMake使用系统级工具或切换构建器:
方法一:临时设置环境变量,强制CMake用Unix Makefiles构建
方法二:直接在pip命令中指定CMake参数export CMAKE_GENERATOR="Unix Makefiles" pip install opencv-pythonpip install opencv-python --config-settings "--cmake-args=-G Unix Makefiles" - 若以上方法失效,尝试安装预编译wheel包:
找到对应Python版本和系统的opencv-python wheel文件,下载后执行:pip install path/to/opencv-python-xxx.whl
内容的提问来源于stack exchange,提问作者Meg
相关产品推荐
相关产品推荐

