pyinstaller打包xgboost项目,得到的可执行文件运行出错问题及解决

Written by

in

文章目录
  • 用pyinstaller打包xgboost项目,打包过程没有出错,但运行得到的可执行文件时 报出如下错误(直接运行python工程并不会报这个错): super() has no attribute ‘get_params’, sklearn.py, line697
  • 经排查发现,报错原因是: pyinstaller的包解析机制不完善,误将xgboost的sklearn.py模块当作sklearn包(即scikit-learn工具包)给封装了起来, 由于get_params是继承自scikit-learn库的一个成员函数,所以才会找不到。
  • 对xgboost的sklearn.py文件重命名 例如改为sklearn_xgb.py,消除sklearn包的命名冲突即可。
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: pyinstaller打包xgboost项目发生错误问题及解决 pyinstaller打包遇到dll问题及解决方案 使用PyInstaller将Flask项目一键打包成独立可执行文件的实战指南 Python利用PyInstaller库实现将脚本一键打包为EXE文件 Python使用PyInstaller/pip打包与发布的详细指南 PyInstaller打包TkinterDnD应用时窗口图标失效问题的解决详解 Windows下PyInstaller打包Python的完整教程
  • 目录
    • 问题描述
    • 原因分析
    • 解决方法
    • 总结

    用pyinstaller打包xgboost项目,打包过程没有出错,但运行得到的可执行文件时

    报出如下错误(直接运行python工程并不会报这个错):

    super() has no attribute 'get_params', sklearn.py, line697

    经排查发现,报错原因是:

    pyinstaller的包解析机制不完善,误将xgboost的sklearn.py模块当作sklearn包(即scikit-learn工具包)给封装了起来,

    由于get_params是继承自scikit-learn库的一个成员函数,所以才会找不到。

    对xgboost的sklearn.py文件重命名

    例如改为sklearn_xgb.py,消除sklearn包的命名冲突即可。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

    您可能感兴趣的文章:

    • pyinstaller打包xgboost项目发生错误问题及解决
    • pyinstaller打包遇到dll问题及解决方案
    • 使用PyInstaller将Flask项目一键打包成独立可执行文件的实战指南
    • Python利用PyInstaller库实现将脚本一键打包为EXE文件
    • Python使用PyInstaller/pip打包与发布的详细指南
    • PyInstaller打包TkinterDnD应用时窗口图标失效问题的解决详解
    • Windows下PyInstaller打包Python的完整教程

    站内搜索