Kivy库写脚本打包成exe文件log循环报错问题的解决

看似是递归错误,但是无法通过sys.setrecursionlimit
限制最大递归解决。
问题本质是日志输出错误。
方法一:保证日志输出正确
在不关闭kivy日志模块的情况下,必须保证kivy日志输出畅通。kivy的日志输出包括写入txt文件和输出到屏幕的信息。用pyinstaller打包exe时习惯键入-w参数,关闭了cmd窗口,报错。
使用Pyinstaller 打包的时候切记不要输入-w参数,默认开启cmd窗口,可以避免日志输出错误。
方法二:直接关闭Kivy日志
kivy的日志模块是基于python的log基础库写的,设置了三种模式:kivy模式,python模式,混合自定义;通过环境变量KIVY_LOG_MODE的三个对应参数“KIVY” "PYTHON" "MIXED"来调节。默认是第一种kivy模式,这里不赘述。如果想要关闭,只要调成"PYTHON"白板log就行。
在所有代码最前方加入:
彻底关闭kivy日志,这时再用pyinstaller打包成exe输入-w参数,生成无窗程序,毫无问题。

这个低级错误是我偶然发现的,没有发csdn的习惯,先放这里,希望对被困扰的朋友们有所帮助。