我正在尝试将script.py文件和app.ui文件转换为可执行文件,但是无论我使用哪个转换器,都会出现“ RecursionError:调用Python对象时超出了最大递归深度”。我尝试了pyinstaller,Nuitka,py2exe,但无济于事。我尝试了十二种不同的抑制代码组合,但仍然遇到相同的错误。我在Pycharm终端venv中尝试了此方法,并且还通过pip在我的本地终端上安装了所有软件包,但那里也不起作用。我尝试了sys.setrecurssionlimit(100000000),仍然遇到相同的错误。即使我收到一条错误消息,pyinstaller仍然生成了一个.spec文件。我尝试在上面运行pyinstaller,但仍然遇到相同的错误。我真的很希望能在这个问题上获得帮助。整个目标是制作一个可执行文件,这很费力气,只是为了冲到终点。
孤立的问题:
这是由pyinstaller中sympy模块内的错误 引起的。如果您尝试从脚本中使用(pyinstaller --onefile file.py)生成可执行文件,而该脚本仅尝试使用以下代码导入sympy:
import sympy
终端将说:
processing pre-safe import module hooks six.moves
,然后返回以下错误:
RecursionError: maximum recursion depth exceeded while calling a python object
解决方案:
这没有解决,但是使用pymbolic解决了问题。这些错误是由某些模块(例如sympy)导致的,这些模块使用了pyinstaller等编译器无法处理的循环导入。有关更多信息: https://github.com/sympy/sympy/issues/16865