Mac下为PyPy3安装opencv-python遇CMake错误求解决
问题描述
在Mac上已安装PyPy3,尝试通过pip或pip_pypy3安装opencv-python时,出现以下错误:
Building wheels for collected packages: opencv-python
Building wheel for opencv-python (pyproject.toml) ... error
error: subprocess-exited-with-error× Building wheel for opencv-python (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [9 lines of output]
Traceback (most recent call last):
File "/private/var/folders/7v/1cg_j6kd34l4k8zgvj782ndc0000gn/T/pip-build-env-nymhzjmp/overlay/site-packages/skbuild/setuptools_wrap.py", line 612, in setup
cmkr = cmaker.CMaker(cmake_executable)
File "/private/var/folders/7v/1cg_j6kd34l4k8zgvj782ndc0000gn/T/pip-build-env-nymhzjmp/overlay/site-packages/skbuild/cmaker.py", line 148, in init
self.cmake_version = get_cmake_version(self.cmake_executable)
File "/private/var/folders/7v/1cg_j6kd34l4k8zgvj782ndc0000gn/T/pip-build-env-nymhzjmp/overlay/site-packages/skbuild/cmaker.py", line 105, in get_cmake_version
) from errProblem with the CMake installation, aborting build. CMake executable is cmake [end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for opencv-python
Failed to build opencv-python
ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects
解决方案
1. 安装并配置CMake
错误核心是CMake未正确安装或系统无法找到它,用Homebrew安装:
brew install cmake
安装后验证可用性:
cmake --version
若提示找不到,需将CMake路径(Homebrew安装的通常在/usr/local/bin或/opt/homebrew/bin,取决于Mac芯片)添加到系统PATH中。
2. 使用预编译的PyPy专属opencv包
PyPI上的标准opencv-python编译对PyPy支持有限,优先用预编译的无头版本(适合视频分析场景):
pip_pypy3 install opencv-python-headless --only-binary :all:
--only-binary :all:强制使用预编译包,跳过本地编译步骤。
3. 手动指定CMake路径(若仍需编译)
如果必须安装带GUI的完整版本,先安装编译依赖:
brew install pkg-config numpy
然后指定CMake路径重新安装:
CMAKE_EXECUTABLE=/usr/local/bin/cmake pip_pypy3 install opencv-python
(路径根据实际安装位置调整)
4. 验证安装成功
在PyPy3环境中运行以下代码测试:
import cv2 print(cv2.__version__)
能正常输出版本号即为安装成功。
内容的提问来源于stack exchange,提问作者Freya

