hi leute
ich habe eine Frage:
Wie komplimiert man ein programm, so dass man es auf jedem pc auch ohne python benutzen kann.
gibt es da einen Compiler?
ich habe Python 2.5 gibt es da irgendein modul, für das zu komplimieren
schonmal Danke
Willi
python compiler
Versteh' ich nicht?
Der Sinn bei Python-Programmen ist doch gerade, dass der Code auf jeden System ausgeführt werden kann. Wenn ich den Kram kompiliere, grenze ich doch schon diese Vielfalt unnötigerweise wieder ein?
Der Sinn bei Python-Programmen ist doch gerade, dass der Code auf jeden System ausgeführt werden kann. Wenn ich den Kram kompiliere, grenze ich doch schon diese Vielfalt unnötigerweise wieder ein?
Kompilieren wie in C geht nicht, aber es gibt Lösungen, die nur die benötigten Teile des Interpreters zu einer Windows-exe-Datei zusammenpacken. Zu nennen sind da PyInstaller und py2exe.
Für einen Anfänger, der etwas komplimieren will, vielleicht nicht ganz leicht, damit umzugehen.
Für einen Anfänger, der etwas komplimieren will, vielleicht nicht ganz leicht, damit umzugehen.
Na ja, auf Linux-Systemen ist ja meist ein Python-Interpreter vorhanden, so daß man da direkt das Skript einsetzen kann.
Auch wenn man kompiliert (z.B. C-Code), muß man das ja ggf. für verschiedene Plattformen tun.
Weiß eigentlich nicht, wo das Problem ist: Selbst ein Java-jar, das ja überall laufen soll, setzt ja die virtuelle Java-Maschine (JRE) für die jeweilige Plattform voraus. Insofern ist das auch nicht "besser" als die Lage beim Python-Interpreter.
Auch wenn man kompiliert (z.B. C-Code), muß man das ja ggf. für verschiedene Plattformen tun.
Weiß eigentlich nicht, wo das Problem ist: Selbst ein Java-jar, das ja überall laufen soll, setzt ja die virtuelle Java-Maschine (JRE) für die jeweilige Plattform voraus. Insofern ist das auch nicht "besser" als die Lage beim Python-Interpreter.
@problembär: Wenn jemand eine Windows-EXE ausliefert, dann kann man den Quelltext (oder Bytecode) ja nicht einfach so unter Linux, oder auch MacOS, laufen lassen. Man schliesst damit also alle PC-Besitzer die kein Windows verwenden aus.
@problembaer
Das Problem ist die Zielgruppe. *ICH* installiere auch mal kurz Mono, um TomBoy unter OSX laufen zu lassen. Mein Vater verliert darueber die letzten Haare. Und darum sind solche packaging-tools sehr sinnvoll. Unter Linux kannst du uU eher ein Paket bauen, aber das ist ja auch nix anderes.
Das Problem ist die Zielgruppe. *ICH* installiere auch mal kurz Mono, um TomBoy unter OSX laufen zu lassen. Mein Vater verliert darueber die letzten Haare. Und darum sind solche packaging-tools sehr sinnvoll. Unter Linux kannst du uU eher ein Paket bauen, aber das ist ja auch nix anderes.
? Man liefert natürlich mehrere Versionen für mehrere OS aus. Das war schon so bei Spielen in verschiedenen Versionen für C64, Atari 800 XL und ZX Spectrum. Sollte also bekannt sein.BlackJack hat geschrieben:@problembär: Wenn jemand eine Windows-EXE ausliefert, dann kann man den Quelltext (oder Bytecode) ja nicht einfach so unter Linux, oder auch MacOS, laufen lassen. Man schliesst damit also alle PC-Besitzer die kein Windows verwenden aus.
@problembär: Sofern es dir nicht bekannt war, man liefert für unixartige Systeme üblicherweise keine vorkompilierten Dateien für Skriptsprachen aus. Wo man dem Anwender (zumindest als Admin/Paketverwalter) das Kompilieren abnimmt, da handelt es sich im Regelfall um in C geschriebene Programme und dergleichen. Was aber wohl zutrifft, ist dass es häufig eine `*.exe` oder `*.msi` für Windows gibt, während Linux-Benutzer auf die Quellcode-Variante zurückgreifen sollen (sofern nichts passendes für den distributionseigenen Paketmanager vorhanden ist).
EDIT: Ok, es scheint dir bereits bekannt zu sein.
EDIT: Ok, es scheint dir bereits bekannt zu sein.
@problembär: Mal davon abgesehen, dass die Situation bei den genannten Plattformen nicht vergleichbar ist, weil dort die Programme in aller Regel für jedes System neu implementiert wurden, funktioniert das natürlich nur wenn man auch tatsächlich mehrere Varianten ausliefert. Der OP hat aber gesagt er möchte das zu einer EXE machen damit man es auf jedem PC ausführen kann. Und die ist nun einmal nicht auf jedem PC beziehungsweise System ausführbar.