[Python-de] setuptools to the rescue?

Andreas Pakulat apaku at gmx.de
Don Jan 12 17:51:17 CET 2006


On 12.01.06 08:57:38, Stefan Behnel wrote:
> 
> Andreas Pakulat schrieb:
> > Da stellen sich mir aber noch ein paar Fragen bzgl. der Nutzung von
> > setuptools/distutils mit PyQt4 basierenden Programmen:
> > 
> > - Bei der Source-Distribution muessen nach dem Auspacken und vor dem
> >   "installieren" ein paar Dinge getan werden, u.a. Umwandlung von .ui in
> >   Python Dateien sowie die "kompilierung" einer Ressourcendatei. Soweit
> >   ich das sehe muss ich dafuer ein eigenes Kommando bereitstellen, die
> >   Frage ist: Kann ich setuptools/distutils klarmachen das dieses
> >   Kommando _vor_ install abgearbeitet werden muss?
> > 
> > - Bei einer Binär-Distribution moechte ich verstaendlicherweise die oben
> >   genannten generierten Dateien mit einpacken. Geht sowas, je nach dem
> >   ob sdist oder bdist verwendet wird ein package-dir includen oder
> >   excluden?
> > 
> > Diese 2 Fragen konnte ich bisher nicht mit der Doku beantworten.
> > Ansonsten ist es aber richtig, dass ich alle Dateien die unter
> > Revisionskontrolle stehen aber nicht mit-verteilt werden sollen einfach
> > in MANIFEST.in ausschliessen sollte (zum Beispiel die Projekt-Datei von
> > eric3?
> 
> Hmm, du hast die Dokumentation von setuptools gefunden, wahrscheinlich auch
> die von Distutils (denen die setuptools nachempfunden sind) *und* du weißt
> über MANIFEST.in Bescheid. Eigentlich solltest du dir die Fragen auch selbst
> beantworten können.

Vllt. aber irgendwie kann ich das nicht.

> zu 1) was meinst du, wann der Teil von setup.py ausgeführt wird, der *vor* dem
> Aufruf von setup() steht?

Das heisst ich muss davor Code schreiben der

- prueft mit welchem Kommando setup.py aufgerufen wurde
- bei install die Kompilierungen durchfuehren

Vllt. verstehe ich das nicht ganz aber wird install nicht sowohl fuer
Source als auch fuer Binaer Distributionen aufgerufen? Ich hab das ganze
bisher noch nicht ausprobiert, ich hab momentan leider keine Zeit
dafuer. 

> zu 2) warum tust du die Dateien nicht in die MANIFEST.in?

Weil ich die .ui-Dateien nur mit verteilen will wenn ich einen
source-tarball packe. Bei einem Binaertarball sollen die nicht enthalten
sein. .qrc analog.

Andreas

-- 
You will be winged by an anti-aircraft battery.