pyinstaller / RecursionError: maximum recursion depth exceeded

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Neu111
User
Beiträge: 69
Registriert: Dienstag 10. März 2020, 19:02

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?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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?
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Ein rekursiver Funktionsaufruf könnte an der Stelle auch schlicht falsch sein.
Neu111
User
Beiträge: 69
Registriert: Dienstag 10. März 2020, 19:02

__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.
Antworten