[Python-de] setuptools installieren keine data files

Andreas Pakulat apaku at gmx.de
Die Jun 27 17:55:06 CEST 2006


On 27.06.06 17:05:15, Diez B. Roggisch wrote:
> > Das hatte ich schon, was aber fehlte war die Nennung des Packages "ui"
> > in der Liste der packages...
> 
> Was für eine Nennung?
> 
> package_data = {
>         # If any package contains files, include them
>         '': ['*.ui'],
>     }
> 
> inkludiert alle *ui-files aus welchem Package auch immer.

Ja, ich hate 'ui': ... und 'ui' nicht unter packages...  Egal...

> > Hmm, aber irgendwie ist das nicht das was ich wollte, die ui-Dateien
> > sollten in eigentlich nicht ins egg, sondern nach
> > PYTHONHOME/share/<appname>. Sonst muss ich ja bei der Paketierung fuer
> > Debian wieder "Verrenkungen" anstellen. Ausserdem hab ich auch noch
> > Uebersetungsdateien die passend installiert werden muessen (die duerfen
> > nicht ins egg)...
> 
> Ich arbeite unter Debian - und ich habe keine Verrenkungen. Wenn man mittels 
> des im ersten meiner Postings beschriebenen resource managers auf die Dateien 
> zugreift, ist alles was man angibt das Package & der Filename. Wenn das in 
> einem Egg ist, dann wird es daraus sogar extrahiert (da egg ja gezippt und 
> direkter File-access so nicht geht)-

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

> und im Sinne einer sauberen Installation sind eggs sicherlich
> vorzuziehen. Denn die kann man als Ganzes löschen, statt mühselig nach
> rumfliegenden Müll in nicht-standard-Orten zu suchen.

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.

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

Andreas

-- 
Think twice before speaking, but don't say "think think click click".