美文网首页
pyinstaller打包含xgboost的.py脚本 报错xg

pyinstaller打包含xgboost的.py脚本 报错xg

作者: 深深_7353 | 来源:发表于2020-04-03 14:18 被阅读0次

    任务:打包含xgboost模型的脚本为exe文件

    command line:  pyinstaller -F filename.py

    error 1.

    error: maximum recurstion limits exceeded

    solution: 打开spec文件, 在开头加上

    import sys

    sys.setrecursionlimit(1000000)

    另外,在改debug=True  这样方便后面看报错信息。

    再次运行: pyinstaller -F filename.spec

    error2. 

    从dist里把exe文件copy到目标文件夹里,结果报错:提示找不到xgboost library

    pic1. error2

    solution: 去提示的路径下  (site-packages\xgboost)看看,有没有xgboost.dll文件,是有的。于是在这里耗费了大量时间找问题。。。

    终极解决方案:是xgboost hook问题https://github.com/pyinstaller/pyinstaller/pull/4077/commits/a11e82681b697b36b2690ffa8365acd130b8885d

    在spec文件中更改binaries,datas, hiddenimports三个参数

    from PyInstaller.utils.hooks import collect_submodules

    from PyInstaller.utils.hooks import collect_data_files

    data = collect_data_files('xgboost')

    a = Analysis(['filename.py'],

                pathex=['filepath\\scripts'],

                binaries = data,

               datas = data,

                hiddenimports= collect_submodules('xgboost'),

                hookspath=[],

                runtime_hooks=[],

                excludes=[],

                win_no_prefer_redirects=False,

                win_private_assemblies=False,

                cipher=block_cipher,

                noarchive=False)

    解决。。

    相关文章

      网友评论

          本文标题:pyinstaller打包含xgboost的.py脚本 报错xg

          本文链接:https://www.haomeiwen.com/subject/byimcqtx.html