[Python-de] setuptools installieren keine data files

Andreas Pakulat apaku at gmx.de
Die Jun 27 19:27:19 CEST 2006


On 27.06.06 18:27:24, Diez B. Roggisch wrote:
> > 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.

Weil das einfacher ist. Ansonsten muesste ich naemlich auch noch Code
schreiben der die ui-Files mittels pyuic4 in Python Code umschreibt.

> > 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.

Ja, das funktioniert. Nur missfaellt mir halt das die UI-Files im
xpathevaluator-Modul liegen (bzw. darunter). 

Und was mache ich mit den Uebersetzungen... Die muessen dann ja auch
nach xpathevaluator/qm oder sowas...

> 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.

Ist schon klar, deswegen versuche ich ja grade herauszufinden wie
setuptools die Dinge handhabt, wie ich damit das hinkriege was ich
moechte. Selbst schreiben kommt nicht in Frage, der Aufwand ist zu
gross.

> 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.

Das "umherschieben" der Ui-Dateien ist kein grosses Problem...

> 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. 

Mein Ziel ist im Moment das beides gleich einfach ist, sowohl die
Installation mit easy_install+setuptools als auch aus dem Code ein
Debian-Paket zu bauen. Letzteres muss ja nun schon den Code aendern wg.
dem Laden der Ui-Dateien (vllt. sollte ich doch lieber Python-Code
vorher generieren lassen)

> > 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.

Nicht direkt, nein.

> 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.

Die Uebersetzungen koennte ich vmtl. sogar direkt aus dem string von
ressource_string laden.

Was mir ein wenig fehlt ist so ein paar real-World-Beispiele. Ich hatte
im Cheeseshop schon geschaut und einiges runtergeladen, aber entweder
war es zu "einfach" oder zu komplex.. Muss mal schauen ob ich davon noch
welche als Debian-Quellpaket finde...

Jedenfalls danke schonmal fuer die Anregungen und Hilfe.

Andreas

-- 
While you recently had your problems on the run, they've regrouped and
are making another attack.