安装报错:TypeError: _classify_installed_files() got an unexpected keyword argument ‘cmake_install_dir‘

服务器内安装opencv-python,压缩包解压,python setup.py install,出现报错。

Traceback (most recent call last):
  File "setup.py", line 462, in <module>
    main()
  File "setup.py", line 222, in main
    skbuild.setup(
  File "/home/llm/anaconda3/envs/pytorch_38/lib/python3.8/site-packages/scikit_build-0.15.0-py3.8.egg/skbuild/setuptools_wrap.py", line 676, in setup
    _classify_installed_files(
  File "setup.py", line 402, in _classify_installed_files_override
    return (cls.wraps._classify_installed_files)(
TypeError: _classify_installed_files() got an unexpected keyword argument 'cmake_install_dir'

查看报错文件对应line

   _classify_installed_files(
        cmake_manifest,
        package_data,
        package_prefixes,
        py_modules,
        new_py_modules,
        scripts,
        new_scripts,
        data_files,
        cmake_source_dir,
        skbuild_kw["cmake_install_dir"],
    )

去github找对应项目源码

 _classify_installed_files(
        cmake_manifest,
        package_data,
        package_prefixes,
        py_modules,
        new_py_modules,
        scripts,
        new_scripts,
        data_files,
        cmake_source_dir,
        cmake_install_dir,
    )

可以看到最后一行“cmake_install_dir”表示不同,用后者替换前者,结果报错。

直接替换整个文件,继续报错。

 决定卸载scikit-build,换个版本试试,在github上下载后安装

继续报错 ......

尝试安装原来的scikit-build-0.15.0版本,顺利。

 安装opencv-python-4.5.3.56,scikit_build-0.15.0报错,问题回到最开始。

直接修改setuptools_wrap.py文件,去掉cmake_install_dir

 报错为

修改为

报错 

 回到原点。

报错的意思是cmake_install_dir参数未知,在认真的看了这个文件的1000多行代码后,查找同时出现的cmake_install_dir和cmake_source_dir之间的区别,尝试改动其中两行。

 

 结果还是一样的报错,再次回到原点。

替换整个def setup部分,报错

加入import,报错

 继续完全替换_check_skbuild_parameters()模块。并添加import shutil后

 

 报错,再次回到原点

A few hours later, 服务器联网,pip可以用后,直接用轮子安装,顺利

pip install opencv-contrib-python==4.5.3.56 顺利

最终问题在于服务器网络问题。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值