Seite 1 von 1

Python jar-File

Verfasst: Mittwoch 3. Januar 2007, 21:56
von hackepeter
Hallo,

arbeite mich gerade in Python ein, komme soweit auch recht gut zurecht. Was mir aber fehlt sind "strategische" Tipps, also best-pratice beim Programmieren.

Mein erstes Proggi läuft soweit schon recht gut. Ist in mehrere Module aufgeteilt. Ich frage mich nur, wie soll das später verteilt und installiert werden? Gibt's eine Möglichkeit das ganze Programm in eine Datei zu packen? Ohne Python-Interpreter, ich gehe jetzt mal von Linux aus wo der normalerweise ja schon installiert ist.

Deshalb die Frage: gibt's sowas wie das Java-Jar File für Python? Oder wie würde eine Installation unter Linux normalerweise die Moduldateien verteilen?

Gruß HP

Verfasst: Mittwoch 3. Januar 2007, 22:03
von Leonidas
Du kannst ein Package draus machen und es in einen Tarball packen. Oder du kannst setuptools nutzen und ein Egg machen. Eigentlich sind Eggs und Jars sich sehr ähnlich, sind beides Zip-Archive in denen das Programm verpackt ist.

Verfasst: Mittwoch 3. Januar 2007, 22:50
von hackepeter
Leonidas hat geschrieben:Du kannst ein Package draus machen und es in einen Tarball packen. Oder du kannst setuptools nutzen und ein Egg machen. Eigentlich sind Eggs und Jars sich sehr ähnlich, sind beides Zip-Archive in denen das Programm verpackt ist.
Danke für die Stichworte. Muss mir jetzt erst mal
http://peak.telecommunity.com/DevCenter/PythonEggs
und
http://docs.python.org/dist/dist.html
anschauen.

Irgendwie stehe ich aber noch auf der Leitung. Sagen wir mein Programm xx besteht aus einigen Src-Modulen. Ich möchte das aber wie gewöhnliche Binaries oder Shell-Scripts ausführen. Shellscript oder Single-File Python Prog. würde ich einfach nach z.B. /usr/local/bin kopieren und ausführbar machen. Muss ich jetzt für Multi-Modul-Progs ein Shell-Script ins bin_verzeichnis kopieren welches erst das eigentlich Python-Script startet? Kommen die .py Module bzw. Packages in ein Verzeichnis unter /usr/lib? Oder verhält sich ein egg wie ein Single-File Script?

Oder habe ich nur zuviel Wein getrunken um das heute noch zu kapieren
:wink:

Gruß HP

Verfasst: Mittwoch 3. Januar 2007, 23:48
von Leonidas
Hallo hackepeter, willkommen im Forum (hab ich vorhin vergessen),
hackepeter hat geschrieben:Sagen wir mein Programm xx besteht aus einigen Src-Modulen. Ich möchte das aber wie gewöhnliche Binaries oder Shell-Scripts ausführen. Shellscript oder Single-File Python Prog. würde ich einfach nach z.B. /usr/local/bin kopieren und ausführbar machen. Muss ich jetzt für Multi-Modul-Progs ein Shell-Script ins bin_verzeichnis kopieren welches erst das eigentlich Python-Script startet? Kommen die .py Module bzw. Packages in ein Verzeichnis unter /usr/lib? Oder verhält sich ein egg wie ein Single-File Script?
Leider nicht, obwohl ich es mir durchaus wünschen würde, dass man Eggs mit so einer Option wie python -egg ausführen könnte.
Im Moment sieht es so aus, dass Eggs mit Easy Install in site-packages kopiert werden und dann die dort angegebenen Scripts dann in den Scripts-Ordner (kann auch /usr/local/bin sein) installiert werden.