py2exe ohne mega Daten Haufen?

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
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

HI!
Als Ich zum ersten mal und auch noch heute exe Dateien mit py2exe erstelle bin Ich etwas geschockt!
Den egal wie klein ein Codeist, es werden fast immer über 8 mb Daten erzeugt.
Darunter sind oft irgendwelche Bilder wo Ich garnicht verstehe wozu die sind.
Und kann man die setup.py so umschreiben das nur eine (die exe) bzw. nur die benötigten Daten erzeugt werden :?:
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Mit der Suchmaschine in deiner Signatur, den richtigen englischen Begriffen und der Seite von py2exe, findest du einen Wikieintrag, der sich damit beschäftigt.

Aber viel kleiner wirst du es nicht bekommen, da der Interpreter, die benutzten Module (eher ein paar Mehr, nicht nur durch gegenseitige Abhängigkeiten) und zu guter letzt dein Programm in der .exe Platz findet.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Um's mal etwas ausführlicher zu beschreiben:

Der Hintergrund ist, dass deine Pythonbefehle ja nicht so ohne Weiteres vom System verstanden werden. Es braucht dafür eine Art Übersetzer (genannt: Interpreter). Der tritt erst dann in Aktion, wenn der User dein Programm startet. Also muss er in deinem Programm integriert sein. Und ansonsten werden noch die ganzen Module benötigt, die du so benutzt. Denn es wird bei solchen Tools angenommen, dass die Module ebenfalls nicht beim späteren Benutzer vorhanden sind (macht ja auch Sinn). Wenn du dann noch irgendwelche Gui-Toolkits für das Programm verwendest, wird es natürlich nochmal ne Ecke größer.

Man muss eben stets im Hinterkopf haben, dass solche Sprachen wie Python immer nur in Abhängigkeit einer Installation der jeweiligen Sprache ("installieren" klingt wohl etwas komisch für eine Sprache) funktionieren können. Wenn du wirklich ein Binary in Maschinencode willst, das der User ohne Weiteres ausführen kann, solltest du die Sprache wechseln und dein Programm für das gewünschte System kompilieren. Im Gegensatz dazu läuft ein Pythonskript überall da, wo Python installiert ist, da Python dir die Übersetzung in Maschinensprache (bzw erstmal in den sogenannten Bytecode) abnimmt (wie gesagt: genau in dem Moment, wo es ausgeführt wird). Das heißt: Läuft eine Python-Version auf dem System des Users, dann wird es dein Programm grundsätzlich auch tun (sofern keine nicht vorhandenen Drittmodule verwendet werden).

Und ich sag mal: eine Größe von 8MB sollte ja wohl heutzutage nicht mehr das Problem sein. Man hat dafür eben die genannten Vorteile (neben den Vorteilen, die Python sonst noch bietet).

Ob ich wohl auch irgendwas mit "schön" zu meinem Wohnort schreiben sollte? ;P
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

Und ich sag mal: eine Größe von 8MB sollte ja wohl heutzutage nicht mehr das Problem sein. Man hat dafür eben die genannten Vorteile (neben den Vorteilen, die Python sonst noch bietet).
Und wie soll man seine Programme veröffentlichen?:
Man stellt sie zum download, aber ist es nicht verdächtig das ein kleines Programm 8mb hat?
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

krisi12345 hat geschrieben:Und wie soll man seine Programme veröffentlichen?:
Im Quellcode natürlich. Schließlich müssen Python-Programme nicht kompiliert werden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

OT: @snafu: Gibt es denn zwei Gelsenkirchen, ein schönes und ein hässliches? So habe ich den Zusatz nämlich verstanden: Das krisi12345 nicht in dem hässlichen München wohnt. ;-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

OT @BlackJack: Es scheint wohl auch zwei Untermain-Seiten geben, wovon wohl die eine schön ist und die andere hässlich 8)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Oh Gott, was hab ich losgetreten oO Der Untermain hat tatsächlich zwei Seiten, aber darauf geh ich jetzt nicht ein ;)

Erstmal umziehen, sonst brüstet sich noch jeder mit dem Prädikat ;)
Antworten