Meine Erfahrung mit Python und PyInstaller zum "Freezen":
Die GUI hab ich in Qt mit QtDesigner gemacht und als .ui File in Python eingebunden. kein Gefrickel mit der Oberfläche also (von Layouts manchmal abgesehen).
Zusätzlich neben PyQt5 in Verwendung an "großen" Modulen: matplotlib, pandas, sowie deren Abhängigkeiten (zB numpy)
Ich hab das Tool für Kollegen gemacht, und rolle es als gefreezte Variante in nem zip File aus. die brauchen nur mehr entpacken und auf die exe klicken.
Pros:
- Pyinstaller ist ziemlich zuverlässig, ich hatte bis dato keine Probleme, und ich verwende eigentlich nur das standardsetup (pyinstaller myapp.py -w -noupx btw^^) . hatte bis dato keinen Bedarf irgendwelche hooks setzen zu müssen oder was auch immer. Einzige sache war mal , in einem py File von Pandas musste ich was manuell ändern, damit es gefreezt auch funktioniert. war aber leicht behoben. Wenn man virtuelle Environments verwendet, braucht man das eh nur einmal machen.
- es gibt für python und alles angrenzende genug Docs, Tutorials oder Threads auf Stackoverflow, bis dato hab ich aber alles manchmal schneller, manchmal später gefunden.
- abhängig von der Anwendung, muss man halt evtl sein Glück probieren (cx_freeze war zB ein Krampf).
Cons:
- Abhängig von deinen verwendeten Modulen kann das fertige Programm (entweder mit -onefile in einer 500mb exe oder mit mehrern subfoldern) kann das Ding RIESIG (und ich schreib bewusst caps) werden. mit o.a. Modulen bin ich gleich mal bei 700mb. weil du alles an Runtime-Environment mitliefern musst was benötigt wird.
bei uns in der Firma kein Showstopper, aber schön ist es nicht - mal so gesagt. v.a. weil wir eben alle Windowsrechner haben.
Ich hab das desegen so gemacht, da ich Python bereits kannte und es daher ein aufgelegter Elfer war sozusagen. Wenn ich ohnehin bei 0 anfangen würd, würd ich es evtl. auch in C# oder was auch immer machen. Ich weiß aber halt nicht, ob das je nach Anwendungsgebiet halt auch von Vorteil ist. ich muss viel mit numerischen Daten machen, da ist halt Pandas der erste Gedanke bei sowas.