python默认的递归深度是很有限的(默认是1000),因此当递归深度超过999的样子,就会引发这样的一个异常。这个错误是在 pyinstaller在打包的过程中产生的,是我的python程序导入的库带来的问题。这需要修改系统递归层数限制(recursion limit)来解决。*.spec文件是在pyinstaller打包过程中分析程序产生的。打包成exe文件可以直接从*.spec文件开始。因此在执行pyinstaller过程中修改系统递归层数限制,可以通过修改*.spec文件来实现。
*.spec文件中(顶部)添加如下代码,修改“recursion limit”
# -*- mode: python -*-import syssys.setrecursionlimit(5000)
打包成exe文件的命令行如下:
pyinstaller *.spec
其中*.spec是需要打包的程序分析生成后修改所得的。
参考:Pyinstaller打包matplotlib error总结