错误:无法为使用 PEP 517 且无法直接安装的 opencv-python 构建轮子

Kas*_*ath 10 python opencv cmake docker nvidia-jetson-nano

我试图在 jetson nano 的 docker 中安装 OpenCV4。它有喷气背包 4.4 s 操作系统。docker 已成功创建并且 Tensorflow 正在运行,但在使用 pip 安装 OpenCV 时,它显示 CMake 错误。

root@5abf405fb92d:~# pip3 install opencv-python
Collecting opencv-python
  Downloading opencv-python-4.4.0.42.tar.gz (88.9 MB)
     |????????????????????????????????| 88.9 MB 2.5 kB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: numpy>=1.13.3 in /usr/local/lib/python3.6/dist-packages (from opencv-python) (1.18.4)
Building wheels for collected packages: opencv-python
  Building wheel for opencv-python (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpqpzwrofy
       cwd: /tmp/pip-install-93nxibky/opencv-python
  Complete output (9 lines):
    File "/tmp/pip-build-env-o_hualnr/overlay/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 560, in setup
      cmkr = cmaker.CMaker(cmake_executable)
    File "/tmp/pip-build-env-o_hualnr/overlay/lib/python3.6/site-packages/skbuild/cmaker.py", line 95, in __init__
      self.cmake_version = get_cmake_version(self.cmake_executable)
    File "/tmp/pip-build-env-o_hualnr/overlay/lib/python3.6/site-packages/skbuild/cmaker.py", line 82, in get_cmake_version
      "Problem with the CMake installation, aborting build. CMake executable is %s" % cmake_executable)
  Traceback (most recent call last):
  
  Problem with the CMake installation, aborting build. CMake executable is cmake
  ----------------------------------------
  ERROR: Failed building wheel for opencv-python
Failed to build opencv-python
ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly
Run Code Online (Sandbox Code Playgroud)

wil*_*een 27

如果之后

pip install --upgrade pip setuptools wheel
Run Code Online (Sandbox Code Playgroud)

你仍然有同样的错误,

您可以尝试指定旧版本的OpenCV进行安装。

前任。

pip3 install opencv-python==3.4.13.47
Run Code Online (Sandbox Code Playgroud)

  • 我可以验证这一点。对于 Python 3.6: pip install opencv-python 尝试安装 4.7.0.68,但即使在升级 pip、setuptools 和 Wheel 后,仍以上述方式失败。但是, pip install opencv-python==4.5.5.64 有效。完全如这个答案所示。它对于 Python >= 3.7 开箱即用,但我需要使用 3.6 并且 opencv 仍然支持它。 (5认同)

小智 24

我遇到了同样的问题,我这样做了

pip install --upgrade pip setuptools wheel
Run Code Online (Sandbox Code Playgroud)

然后再次安装opencv,

pip install opencv-python
Run Code Online (Sandbox Code Playgroud)

这对我有用

  • 即使执行此操作后,此错误仍然会在 Mac Sierra 上弹出。 (3认同)