Seite 1 von 1

py2exe ohne mega Daten Haufen?

Verfasst: Freitag 5. Juni 2009, 19:37
von krisi12345
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 :?:

Verfasst: Freitag 5. Juni 2009, 19:45
von cofi
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.

Verfasst: Freitag 5. Juni 2009, 19:57
von snafu
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

Verfasst: Samstag 6. Juni 2009, 09:22
von krisi12345
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?

Verfasst: Samstag 6. Juni 2009, 09:23
von Leonidas
krisi12345 hat geschrieben:Und wie soll man seine Programme veröffentlichen?:
Im Quellcode natürlich. Schließlich müssen Python-Programme nicht kompiliert werden.

Verfasst: Samstag 6. Juni 2009, 09:33
von 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. ;-)

Verfasst: Samstag 6. Juni 2009, 09:51
von Leonidas
OT @BlackJack: Es scheint wohl auch zwei Untermain-Seiten geben, wovon wohl die eine schön ist und die andere hässlich 8)

Verfasst: Samstag 6. Juni 2009, 12:01
von cofi
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 ;)