繁体   English   中英

为 Opencv 制造轮子失败

[英]Failed to Build Wheel For Opencv

我使用以下命令将轮子 pip 和 setuptools 全部升级到最新版本。

pip3.9 install --upgrade pip setuptools wheel

当我尝试安装 opencv pip3.9 install opencv-python时,它给出了一个错误。 我尝试安装旧版本,得到同样的错误( 4.5.5.62 )。 这是我遇到的错误,请看一下,谢谢!

Python 版本:3.9(opencv-python 在 3.8 时工作)

应用:PyCharm

Traceback (most recent call last):
        File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 244, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
          self.run_setup()
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 281, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 502, in <module>
          main()
        File "setup.py", line 239, in main
          skbuild.setup(
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 676, in setup
          _classify_installed_files(
        File "setup.py", line 442, in _classify_installed_files_override
          return (cls.wraps._classify_installed_files)(
      TypeError: _classify_installed_files() got an unexpected keyword argument 'cmake_install_dir'
      [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

我也有这个问题。 这个问题的修复还没有通过pip正式发布,所以运行pip3 install git+https://github.com/opencv/opencv-python可以解决问题。

我知道这已根据 mara004 的评论在技术上得到解决,但可能有些读者以前从未直接从 Git 存储库安装 pip 库。

通过检查 function cls.wraps._classify_installed_files的来源。

print(inspect.getsource(cls.wraps._classify_installed_files))

我发现原因是在 function 定义中没有名为cmake_install_dir_cmake_install_dir的参数。 所以我将命名参数cmake_install_dir更改为_cmake_install_dir 然后通过了!

return (cls.wraps._classify_installed_files)(
            final_install_paths,
            package_data,
            package_prefixes,
            py_modules,
            new_py_modules,
            scripts,
            new_scripts,
            data_files,
            # To get around a check that prepends source dir to paths and breaks package detection code.
            cmake_source_dir="",
            _cmake_install_dir=cmake_install_reldir,
        )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM