Hi,
ich bekomme bestimmt gleich Ärger, da das Thema hier nicht hingehört...
Ich habe mittlerweile meine erste Anwendung fertig.
Ich habe meist mit PyQt5 aber auch mit Tkinker gearbeitet.
Es wurden etwa 1900 Zeilen Code.
Das ganze habe ich mit pyinstaller in eine exe Datei zusammengefügt (46 MB).
Wenn diese dann auf einem Windows PC gestartet wird, dauert es mindestens 15 Sekunden bis die Anwendung geladen worden ist.
Dies ist mir zu lang und für Anwender nicht zumutbar.
Gibt es da andere Möglichkeiten?
Ich habe bislang mit Thonny als IDE gearbeitet. Was wäre der nächste Schritt?
Was haltet ihr von Visual Studio? Da kann man doch auch mit Phyton arbeiten.
Kann man hier exe - Dateien erstellen die schneller starten?
Danke für alle Antworten...
exe startet zu langsam
- __blackjack__
- User
- Beiträge: 13533
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@steenhy: Es ist völlig wurscht mit welcher IDE Du den Quelltext schreibst. Dadurch wird ein davon völlig unabhängiges Programm nicht auf magische Weise schneller.
Du musst halt schauen wo die ganze Zeit bleibt.
Du musst halt schauen wo die ganze Zeit bleibt.
Code: Alles auswählen
- (void)countSheep {
unsigned int sheep = 0;
while ( ! [self isAsleep]) { ++sheep; }
}
Als erstes könntest du mal testen, wie lange das Programm braucht, wenn du es regulär, direkt mit dem Python Interpreter ausführst. Dann weißt du schon mal, welche Verzögerung durch den Overhead, den PyInstaller einführt, entsteht. Anschließend kannst du in deinem Programm nach Bottlenecks auf die Suche gehen.
Hi,
danke für die Infos,
das Problem sind nicht die Prozesse in der Anwendung, sondern das Laden der Python Umgebung.
Beim Start der exe-Datei werden erst die Python-Dateien in einem temporären Verzeichnis entpackt, das ist die Zeit die nervt.
Die Anzeige der ersten Maske der Anwendung dauert nur Millisekunden.
Meine Fragen sind:
Wie erstellt ihr exe Dateien?
Wie lange brauchen die unter Windows zum Laden?
Hat jemand Erfahrung mit vs-Python?
Gruß
danke für die Infos,
das Problem sind nicht die Prozesse in der Anwendung, sondern das Laden der Python Umgebung.
Beim Start der exe-Datei werden erst die Python-Dateien in einem temporären Verzeichnis entpackt, das ist die Zeit die nervt.
Die Anzeige der ersten Maske der Anwendung dauert nur Millisekunden.
Meine Fragen sind:
Wie erstellt ihr exe Dateien?
Wie lange brauchen die unter Windows zum Laden?
Hat jemand Erfahrung mit vs-Python?
Gruß
Wie du richtig schreibst, ist eine .exe-Datei, die mit Pyinstaller erzeugt wird, ein Archiv, dass sich beim Starten entpackt und das mitgeführte Python mit deinem Script startet.
Wie bereits hier geschrieben, hat das gar nichts mit der eingsetzen IDE zu tun und lässt sich auch nur beschleunigen, indem du dafür sorgst, dass auf dem Zielsystem der Datendurchsatz schneller wird.
Komplett umgehen lässt sich das Problem ganz einfach: Du lieferst keine .exe-Datei aus sondern dein Python-Script, das von dem bereits installierten Python ausgeführt wird.
Oder du versuchst keine one-file-exe daraus zu machen - dann muss nichts entpackt werden.
Wie bereits hier geschrieben, hat das gar nichts mit der eingsetzen IDE zu tun und lässt sich auch nur beschleunigen, indem du dafür sorgst, dass auf dem Zielsystem der Datendurchsatz schneller wird.
Komplett umgehen lässt sich das Problem ganz einfach: Du lieferst keine .exe-Datei aus sondern dein Python-Script, das von dem bereits installierten Python ausgeführt wird.
Oder du versuchst keine one-file-exe daraus zu machen - dann muss nichts entpackt werden.
-
- User
- Beiträge: 86
- Registriert: Sonntag 23. Dezember 2012, 07:54
Ich hatte das gleiche Problem,
gerade wenn Du mit Qt arbeitest werden Unmengen Bibliotheken in die exe eingebunden und bevor Du etwas zu sehen bekommst muss der ganze Spaß entpackt werden. Nutze unbedingt die PyInstaller-Option --onedir.
Da liegt alles ungepackt vor und Du siehst Dein erste Fenster nach wenigen Sekunden und Du kannst den gesamten Ordner trotzdem via Copy and Paste auf andere Systeme kopieren.
gerade wenn Du mit Qt arbeitest werden Unmengen Bibliotheken in die exe eingebunden und bevor Du etwas zu sehen bekommst muss der ganze Spaß entpackt werden. Nutze unbedingt die PyInstaller-Option --onedir.
Da liegt alles ungepackt vor und Du siehst Dein erste Fenster nach wenigen Sekunden und Du kannst den gesamten Ordner trotzdem via Copy and Paste auf andere Systeme kopieren.
- __blackjack__
- User
- Beiträge: 13533
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@steenhy: Da kann man sich ja einen Installer für basteln, dann sehen die Anwender davon nix wenn sie nicht aktiv hinschauen.
Code: Alles auswählen
- (void)countSheep {
unsigned int sheep = 0;
while ( ! [self isAsleep]) { ++sheep; }
}