Seite 1 von 1

pyinstaller / RecursionError: maximum recursion depth exceeded

Verfasst: Montag 24. Oktober 2022, 08:53
von Neu111
Hallo!
Ich nutze innerhalb meines Python-Scriptes eine Funktion, die sich selbst aufrufen kann (aber nur, wenn das wx.Event "EVT_GRID_CELL_CHANGED" zutrifft).
Lasse ich mein Script innerhalb meiner Visual-Studio-Code-Umgebung laufen, funktioniert alles tadellos.
Kompiliere ich mittels pyinstaller die py-Datei in eine exe-Datei, dann läuft mein Script beim erstmaligen eintreffen der Bedingung "EVT_GRID_CELL_CHANGED" in eine Endlosschleife, was dann auch zu der Fehlermeldung "RecursionError: maximum recursion depth exceeded" führt.

Für mich ist es völlig unverständlich, warum sich die exe-Datei anders verhält als die py-Datei.

Beim googeln bin ich auf unterschiedliche Meinungen gestoßen. In einem zweieinhalb Jahre alten Beitrag schreibt ein User, dass es ein Bug in pyinstaller wäre:

https://stackoverflow.com/questions/609 ... -py-to-exe

Da ich der englischen Sprache nicht so ganz mächtig bin, frage ich euch:

Besteht der Bug nach all den Jahren immer noch, oder habe ich ein anderes Problem übersehen?

Re: pyinstaller / RecursionError: maximum recursion depth exceed

Verfasst: Montag 24. Oktober 2022, 08:59
von __deets__
Zu deinem Problem kann ich nichts sagen. Der SO Post aber beschreibt ein Problem von pyinstaller selbst. Nicht dem damit erzeugten Code.

Eine Vermutung habe ich aber: das Problem wird weniger der installer sein. Sondern eher allgemein die Umgebung. Kannst du dein Programm ohne installer, aber außerhalb von Visual Studio ausführen? Ändert das etwas?

Re: pyinstaller / RecursionError: maximum recursion depth exceeded

Verfasst: Montag 24. Oktober 2022, 10:50
von sparrow
Ein rekursiver Funktionsaufruf könnte an der Stelle auch schlicht falsch sein.

Re: pyinstaller / RecursionError: maximum recursion depth exceed

Verfasst: Montag 24. Oktober 2022, 14:05
von Neu111
__deets__ hat geschrieben: Montag 24. Oktober 2022, 08:59 Eine Vermutung habe ich aber: das Problem wird weniger der installer sein. Sondern eher allgemein die Umgebung. Kannst du dein Programm ohne installer, aber außerhalb von Visual Studio ausführen? Ändert das etwas?
Deine Anregung hat mir letztendlich zur Lösung verholfen.
Denn ich nutze mehrere Plattformen, und auf der Plattform wo eigentlich nur in exe-Dateien kompiliert wird, war die alte wx.Python-Version 4.0.7 installiert.
Als ich nun auf die aktuelle Version 4.2.0 updatete, war das Problem verschwunden. Kaum zu glauben, aber wahr!
Danke nochmals für den Support.