关于使用pyinstaller打包软件遇到的异常及解决办法

关于使用pyinstaller打包软件遇到的异常及解决办法

1、由于程序中涉及使用了skleran包,pyinstaller打包时出现:ModuleNotFoundError:No module named‘typedefs’

解决办法:在打包为命令后面加上–hidden-import sklearn.neighbors.typedefs

pyinstaller -Fw main.py --hidden-import sklearn.neighbors.typedefs

2、当解决上述之后,可能还会出现错误 RecursionError: maximum recursion depth exceeded while calling a Python object

解决办法:在打包过程中生成的 xxx.spec文件中的第二行添加如下代码

import sys
sys.setrecursionlimit(5000)

3、“FileNotFoundError:[Errno 2] No such file or directory:’…/…/…/…/dask/dask.yaml’”

出现问题的原因:项目增加了一个skimage包用来提取图像LBP特征,再次打包好程序运行之后报错
一直找不到解决办法最后参考了这个链接文件找不到异常

解决方案:在自己安装的pyinstaller库的hooks文件夹下新建一个hood-dask.py文件,在py文件中添加如下代码:

from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files('dask')

保存该文件内容之后,重新打包spec文件

pyinstaller -Fw xxx.spec

4、当使用pyinstaller打包成功软件后依然出现failed to execute script 错误

由于软件和命令框一闪而过难以捕捉异常信息

排错过程:
使用如下语句打包程序

pyinstaller -D xxx.py

通过CMD命令行打开xxx.exe文件,此时报错信息将会出现在命令行中

猜你喜欢

转载自blog.csdn.net/weixin_42041127/article/details/108425510
今日推荐