2013-07-10 11 views
5

Ich bin neu in Python und bin total verloren, wo ich anfangen soll, dies zu tun.Wie kompiliere ich mehrere Py-Dateien als eine?

Ich habe viele kleine Module geschrieben (ein Toolset für Maya), die in einzelne .pyc-Datei kompiliert werden müssen. Gibt es ein Modul, das das einfach macht? Oder kannst du mir sagen, wo ich anfangen soll? Ein Tutorial? Ich weiß nicht einmal, nach welchen Begriffen ich suchen soll.

+3

Was macht Sie denken, Sie müssen dies tun? –

+0

Weil ich nicht 50 verschiedene Python-Dateien in Maya laden möchte. Wäre es nicht besser, nur einen hinzuzufügen und Zugang zu allen zu haben? – user12294

+0

Nein, es ist besser, 50 Dateien in einem Ordner zu haben. Das Laden von 50 verschiedenen Dateien ist nicht komplexer als das Laden von 1, nur ein Anruf genügt. Es ist jedoch besser, 50 Dateien zu haben. Wenn Sie andererseits Ihren Code verschleiern wollen, verwenden Sie nicht python, sondern verwenden Sie stattdessen C++. Python erlaubt es Ihnen jedoch, den Ordner zu zippen (und ein Ei zu nennen), so dass der Benutzer nur einen Ordner sieht, dessen immer noch 50 separate Dateien sind. – joojaa

Antwort

0

Das Modul compileall, das in der Standardbibliothek vorhanden ist, kompiliert alle Dateien in einem Verzeichnis, generiert jedoch keine einzelne .pyc-Datei. Ein Beispiel für seine Verwendung ist auch unter der Nummer effbot.org angegeben. Ich weiß nicht, ob es überhaupt möglich ist, aus mehreren Modulen eine einzelne Pyc-Datei zu erstellen.

Meine Vermutung ist jedoch, dass Sie in die Erstellung einer python egg, die eine einzelne Datei aus einer Reihe von Dateien in einem Paket gruppiert, was Sie wollen, denke ich denke.

1

Sie müssen nicht einmal ein Ei machen, Sie können nur Ihre Dateien zippen und die Zip-Datei auf Ihren Python-Pfad legen. Mayas Version von Python enthält das Modul zipimport standardmäßig, so dass es 'nur funktioniert' solange Maya Ihre Zip-Datei finden kann.

Hier sind einige Diskussionen über das ganze Thema von Werkzeugen Verteilung Sie könnten nützlich sein:

http://tech-artists.org/forum/showthread.php?3271-Distribution-techniques-for-external-Python-tools&highlight=distribute

http://tech-artists.org/forum/showthread.php?3987-Maya-GitHub-and-Script-Paths-for-Mel-and-Python-How-Would-You-Do-It&highlight=distribute

http://tech-artists.org/forum/showthread.php?3752-Best-Way-to-Share-Your-Scripts&highlight=distribution