Python-Programme ausliefern/verteilen - Wohin mit Modulen?
Verfasst: Dienstag 6. Januar 2009, 14:25
Moin,
ich streite mich gerade mit einem Kollegen, wie man Python Anwendungen am besten verteilt. Es geht im Wesentlichen darum, wo die Unter-Module einer Anwendung landen sollen, die zwar von der Anwendung gebraucht werden, aber anderen Anwendungen nicht zur Verfügung stehen sollen.
Er ist der Meinung, alles muss in ein Root-Modul und das wird dann in die site-packages installiert. Und die application.py (oder je nach Plattform eine Binärdatei) können dann unter Programme oder /usr/local/bin oder sonst wo liegen. Ordnerstruktur wäre dann wie folgt:
Das Modul application würde dann in den site-packages landen und appliaction.py im Standard-Programme-Ordner.
Meiner Meinung nach gehören in die site-packages aber nur Bibliotheken und Frameworks (wie SimPy, matplotlib oder PyQt). Die Module, die man für die eigene Anwendung geschrieben hat, landen mit im Anwendungsordner. Beispiel-Ordnerstruktur:
Und das Ganze kommt dann nach /Applications, /opt oder C:\Programme.
Hab dazu bisher leider keine eindeutigen Empfehlungen gefunden. Gibt es überhaupt welche? Wie würdet ihr das machen?
ich streite mich gerade mit einem Kollegen, wie man Python Anwendungen am besten verteilt. Es geht im Wesentlichen darum, wo die Unter-Module einer Anwendung landen sollen, die zwar von der Anwendung gebraucht werden, aber anderen Anwendungen nicht zur Verfügung stehen sollen.
Er ist der Meinung, alles muss in ein Root-Modul und das wird dann in die site-packages installiert. Und die application.py (oder je nach Plattform eine Binärdatei) können dann unter Programme oder /usr/local/bin oder sonst wo liegen. Ordnerstruktur wäre dann wie folgt:
Code: Alles auswählen
/application/
modul1/
...
modulN/
.__init__.py
/application.py
Meiner Meinung nach gehören in die site-packages aber nur Bibliotheken und Frameworks (wie SimPy, matplotlib oder PyQt). Die Module, die man für die eigene Anwendung geschrieben hat, landen mit im Anwendungsordner. Beispiel-Ordnerstruktur:
Code: Alles auswählen
/application/
modul1/
...
modulN/
application.py
Hab dazu bisher leider keine eindeutigen Empfehlungen gefunden. Gibt es überhaupt welche? Wie würdet ihr das machen?