Seite 1 von 1

Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 16:00
von campino97
Moin
Ich hab ein Problem, ich habe ein Programm mit Pygame geschrieben und möchte das so kompilieren,dass das Modul Pygame mit kompiliert ist. Sodass ich das Programm jedem geben kann, ohne dass er sich Pygame installieren muss.
Wenn ich "python -m py_compile" im Terminal eingebe, wird nur das Programm selber kompiliert, Pygame aber nicht.
Ich hoffe ihr könnt mir helfen.
Schonmal Danke.

Re: Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 17:18
von lunar
@campino97: Du kannst pyinstaller oder py2exe nutzen, um ein Python-Programm so zu verpacken, dass Deine Nutzer es ausführen können, ohne Python oder irgendwelche Module manuell installieren zu müssen.

"python -m py_compile" sorgt im Übrigen lediglich dafür, dass Python-Quelltext in CPython-Bytecode übersetzt wird. Man kann damit keine unabhängige ausführbare Datei erzeugen.

Re: Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 17:34
von campino97
Danke für die schnelle Antwort, ich möchte aber keine .exe erstellen, sondern eine Plattform unabhängige Datei.
Mir ist nicht wichtig, dass man kein Python installieren soll, sondern man soll nur keine Module wie z.B. pygame oder easygui usw. installieren müssen.

Re: Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 17:46
von lunar
@campino: Das ist unmöglich. pygame ist in C geschrieben und mithin nicht plattformunabhängig. Jedes ganz oder teilweise in C geschriebene Python-Modul muss für jede Plattform eigens kompiliert werden.

Re: Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 17:55
von campino97
Ok. Das habe ich nicht gewusst.
Dann werde ich für Windoof wohl pyinstaller benutzen.
Was ist mit Linux Distributionen? Gibt es da einen Compiler so wie pyinstaller für Windoof?

Re: Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 18:02
von lunar
@campino97: Soweit ich weiß, gibt es pyinstaller auch für Linux. Dort ist sowas allerdings eher unüblich. Dokumentiere einfach, dass pygame eine Abhängigkeit Deines Programms ist, und mithin vorher über die Paketverwaltung installiert werden muss, und vertraue darauf, dass Deine Benutzer klug genug sind, die Paketverwaltung ihrer Distribution zu bedienen. Wenn Du viel Zeit hast, kannst Du mit dem Open Build Service auch Pakete für verschiedene Distributionen.

PS: "Windoof" zu sagen, ist nicht cool, sondern kindisch. Nichts für ungut…

Re: Python Datei mit Modulen kompilieren

Verfasst: Sonntag 11. März 2012, 18:06
von campino97
Danke.
Wo bekomme ich Pyinstaller für Ubuntu zum Download? Im Softwarecenter gibt es das nicht, auf der Homepage von Pyinstaller sind die Links kaputt, zumindest findet der Server die Dateien nicht mehr. Im Terminal hab ichs auch schon probiert, da kommt aber auch nur die Fehlermeldung, dass es dieses Paket nicht gibt.
Wenn jemand weiß wo mans downloaden kann bitte posten.
Oder wenn irgendwer den Installer noch hat kann er ihn pls irgendwo hochladen und Link posten?
Danke.

Re: Python Datei mit Modulen kompilieren

Verfasst: Montag 12. März 2012, 02:07
von Leonidas
Wie lunar sagte: mach das doch einfach nicht. Ich als Linux-User finds furchtbar wenn mir irgendein Hansel irgendwelche Binaries hinstellt die genauso gut auch als Quellcode gehen würde. Pygame hat so ziemlich jede Linux-Distribution in den Repositories.

Re: Python Datei mit Modulen kompilieren

Verfasst: Montag 12. März 2012, 10:42
von lunar
@campino97: Die Downloads auf der pyinstaller-Website http://www.pyinstaller.org funktionieren problemlos…

Re: Python Datei mit Modulen kompilieren

Verfasst: Montag 12. März 2012, 18:58
von campino97
@Leonidas:Stimmt, mit dem Quellcode kann ich auch mehr anfangen,trotzdem interessiert es mich mal wie das mit dem Kompilieren so funktioniert.Ich will damit ein bisschen rumexperimentieren.

@lunar: Also wenn ich auf diesen Link clicke https://github.com/downloads/pyinstalle ... .1.tar.bz2
, kommt bei mir immer diese Fehlermeldung:
Ooops!!!
An unexpected error seems
to have occurred. Why not try
refreshing your page? Or you can
contact us if the problem persists.
Bei dem Link untendrunter kommt das gleiche.
Welchen Link benutzt du denn?

Re: Python Datei mit Modulen kompilieren

Verfasst: Montag 12. März 2012, 19:13
von lunar
@campino97: Ich benutze diesen Link… ohne Fehler.

Im Übrigen „kompiliert“ pyinstaller nicht. Er packt lediglich alle Abhängigkeiten mit einer unabhängigen Python-Version zusammen in ein ausführbares Archiv. Mit entsprechenden Programmen kann man dieses Archiv problemlos wieder entpacken und den Quelltext oder zumindest den Bytecode extrahieren.

Re: Python Datei mit Modulen kompilieren

Verfasst: Dienstag 13. März 2012, 04:23
von Leonidas
lunar hat geschrieben:@campino97: Ich benutze diesen Link… ohne Fehler.
Funktioniert bei mir ebenfalls problemlos, sowohl mit Firefox als auch wget. Ich denke das Problem muss wohl irgendwo an deiner Seite liegen.

Re: Python Datei mit Modulen kompilieren

Verfasst: Mittwoch 14. März 2012, 19:25
von campino97
mit wget gehts bei mir auch
mit firefox nich