首页 > 解决方案 > 我使用 pyinstaller 将 .exe 文件形成为我编写的 python 代码

问题描述

我想从我用 python 编写的代码创建一个 .exe 文件。代码包括要导入的 tkinter、openpyxl、os、shutil 和 googleapplications 构建模块。我在anaconda提示命令中使用了这个命令:pyinstaller --onefile rev.py(rev.py是我编写代码的文件的名称)无论如何,它给了我以下错误:


发生 RecursionError(超出最大递归深度)。要解决此问题,请遵循这些说明

  1. 在程序的 .spec 文件中,在顶部附近添加这一行::

    导入系统;sys.setrecursionlimit(sys.getrecursionlimit() * 5)

  2. 通过使用 .spec 文件作为参数运行 PyInstaller 来构建您的程序:

    pyinstaller myprog.spec

  3. 如果这失败了,你很可能在 PyInstaller 中遇到了无休止的递归。请尝试尽可能地追踪这一点,创建一个最小的示例,以便我们可以 按照问题模板中的说明在https://github.com/pyinstaller/pyinstaller/issues重现并打开问题。非常感谢。

说明:Python 的堆栈限制是防止无限递归、消耗内存的安全带。PyInstaller 递归地导入模块。如果在程序中导入模块的结构很尴尬,这会导致嵌套太深并达到 Python 的堆栈限制。

你能帮我解决这个问题吗谢谢Emon

标签: pythontkinterpyinstallerexe

解决方案


推荐阅读