Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RecursionError #5388

Closed
BorjaLara opened this issue Dec 14, 2020 · 1 comment
Closed

RecursionError #5388

BorjaLara opened this issue Dec 14, 2020 · 1 comment

Comments

@BorjaLara
Copy link

I'm getting back an error when I use Pyinstaller to obtain an executable file from a .py file.

=============================================================
A RecursionError (maximum recursion depth exceeded) occurred.
For working around please follow these instructions

  1. In your program's .spec file add this line near the top::

    import sys ; sys.setrecursionlimit(sys.getrecursionlimit() * 5)

  2. Build your program by running PyInstaller with the .spec file as
    argument::

    pyinstaller myprog.spec

  3. If this fails, you most probably hit an endless recursion in

    PyInstaller. Please try to track this down has far as possible,
    create a minimal example so we can reproduce and open an issue at
    https://github.com/pyinstaller/pyinstaller/issues following the
    instructions in the issue template. Many thanks.

Explanation: Python's stack-limit is a safety-belt against endless recursion,
eating up memory. PyInstaller imports modules recursively. If the structure
how modules are imported within your program is awkward, this leads to the
nesting being too deep and hitting Python's stack-limit.

With the default recursion limit (1000), the recursion error occurs at about
115 nested imported, with limit 2000 at about 240, with limit 5000 at about
660.

@bwoodsend
Copy link
Member

bwoodsend commented Dec 14, 2020

See #4406. Put this post on there.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants