[python-users] default config file erzeugen / mit installieren / vernünftig ablegen

Thomas Koch koch at orbiteam.de
Di Mär 4 18:54:39 CET 2014


Hallo Henning,

 

für das Home-Verzeichnis ist vermutlich 

 

>>> os.path.expanduser("~")

'C:\\Users\\koch'

 

die schlankere Variante.

 

sollte auch unter Unix funktionieren... siehe:

http://docs.python.org/2/library/os.path.html

 

- Alternativ könnte man auch die Config beim ersten Start eines Programms erzeugen lassen. 

 

Das ist eigentlich auch nicht unüblich. 

 

Hier ist jedoch die Frage, woher ich hier am besten die default Werte einlese, ohne dass ich z.B. einen langen string-block in eine Datei ausgeben lasse. Gibt es hier die Möglichkeit, dass z.B. eine my_project.conf.default in /usr/local/share/ (o.ä.) liegt, die genau dorthin beim Setup kopiert wird?

Du könntest doch einfach eine default-config in Deinem Paket mit ausliefern und beim ersten Aufruf des Scriptes an die entsprechende Stelle kopieren (Vorteil: die default-config wird auch wieder restauriert, wenn der User sie löscht). 

 

Das Template für die default-config kannst Du doch ruhig mit dem Paket unter Python (also in Lib\site-packages) installieren – einige Pakete bringen auch Resourcen wie images mit – der Mechanismus ist ja nicht nur auf .py files beschränkt.

 

Hoffe das hilft…

 

Grüße,

Thomas 

 

Von: python-users [mailto:python-users-bounces at uni-koeln.de] Im Auftrag von Henning Dickten
Gesendet: Dienstag, 4. März 2014 13:52
An: python-users at uni-koeln.de
Betreff: [python-users] default config file erzeugen / mit installieren / vernünftig ablegen

 

Hallo zusammen,

im Zuge eines Uni Projektes suche ich nach einer eleganten aka pythonischen Lösung zum Erzeugen / Ausliefern einer Konfigurationsdatei, die im Home-Verzeichnis des Nutzers liegen soll und nach Ausführung des Setups dort liegen soll.

So weit bin ich bereits gekommen:
- Das Home/Config-Verzeichnis würde ich XDG herausfinden lassen. Hier bin ich auch für Lösungen offen, bei denen ich keine zusätzliche Abhängigkeit brauche.
- Ein post-install skript konnte ich bisher nur erzwingen, indem ich die "install"-Methode von setuptools überladen habe und weiteren Kram ausführen lasse. Dies finde ich jedoch relativ hässlich. Gibt es hierfür bereits Hausmittel in der Standard Library?
- Alternativ könnte man auch die Config beim ersten Start eines Programms erzeugen lassen. Hier ist jedoch die Frage, woher ich hier am besten die default Werte einlese, ohne dass ich z.B. einen langen string-block in eine Datei ausgeben lasse. Gibt es hier die Möglichkeit, dass z.B. eine my_project.conf.default in /usr/local/share/ (o.ä.) liegt, die genau dorthin beim Setup kopiert wird?

Beste Grüße und vielen Dank im Voraus!

 Henning Dickten

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.uni-koeln.de/pipermail/python-users/attachments/20140304/36489b3f/attachment.html>


Mehr Informationen über die Mailingliste python-users