[Python-de] setuptools installieren keine data files

Diez B. Roggisch deets at web.de
Die Jun 27 18:27:24 CEST 2006


> Naja, das Problem dabei ist: Die Funktion die aus dem .ui dann eine
> Python-Klasse "erzeugt" erwartet einen Dateinamen und kommt mit dem
> zurueckgelieferten "Inhalt" der Datei so nicht zurecht. Gut da kann
> ich resource_filename fuer benutzen.

Ich habe eh noch nie verstanden warum man ui-files unbedingt zur Laufzeit zu 
Widgets machen will. Klar das ich nicht an den generierten sourcen fummele - 
aber ich habe die immer übersetzt gespeichert. Na, Geschmackssache.

> Aber das folgende Problem ist 
> wesentlich komplizierter fuer mich zu loesen...

> Also in xpathevaluator/xpathwidget.py steht:
> resource_string(__name__, 'ui/xpathwidget.ui')
>
> Was in einem Pfad resultiert der
>
> xpathevaluator/ui/xpathwidget.ui
>
> ist. Somit wirds nicht gefunden, weil die setuptools die ui-Dateien
> direkt unter ui/ legen (ohne das xpathevaluator davor).
>
> Ich braeuchte sowas wie resource_*(<nuescht>, 'ui/xpathwidget.ui')...

Hört sich für mich eher danach an, das du krampfhaft veruchst, eine bestehende 
Struktur in setuptools reinzuprügeln. Was ich für unsinnig halte. Pack die 
Dateien doch einfach nach xpathevaluator/ui.

Wenn du dir zu viel Mühe gibst um die Art wie setuptools die Dinge handhabt 
rumzuarbeiten - dann lass es sein & strick es halt alles selbst. Aber 
"shoehorning" ist nie ne gute Idee.

Und Tatsache ist, das man eine Applikation schon mit Hinblick auf deren 
roll-out planen muss. Klar, wenn man da zum Schluss rangeht, dann muss man 
halt nacharbeiten.

> Ich hab mich zugegebenermassen noch nicht damit befasst wie
> Debian-Pakete von Python Applikationen aussehen, aber dort werden ja
> wohl keine eggs installiert (AFAIK). Mal schauen, eines nach dem
> anderen und jetzt erstmal die eggs.

Keine Ahung - Debian-Pakete sind ein komplett eigenes Ding. Debian separiert 
ja sogar python & python-dev. Was von vielen als unsinn empfunden wird.

Eggs installiert man mittels easy_install. 

Aber grundsätzlich sind Debian-Pakete nix als Meta-Daten + ne Filehierarchie. 
Es sollte also auch möglich sein, deine Applikation als Deb-Paket zu 
erzeugen, welches die eggs enthält - ob das den Aufwand wert ist musst du 
selber entscheiden. 

> Das Problem mit den Uebersetzungen laesst sich auch loesen, aber
> irgendwie fuehlt sich das falsch an wenn ich extra Code schreiben muss
> damit die Uebersetzungen gefunden werden...

Keine Ahnung - ich erinnere mich nicht das du was zu Übertsetzungen 
geschrieben hast. Kann aber an mir liegen.

Wenn du damit die üblich Qt-i18n meinst - auch da gilt natürlich dasselbe wie 
oben: wenn du es gleich im Hinblick auf setuptools machst, gehts gut. Wenn 
nicht - machstes halt selbst.

Diez