[Python-de] Applikationsdateien installieren
Marcus von Appen
mva at sysfault.org
Mon Jun 26 20:13:35 CEST 2006
On, Mon Jun 26, 2006, Andreas Pakulat wrote:
[...]
> Wie macht man das am geschicktesten? Kann mir Python helfen das richtige
> share-Verzeichnis zu finden? Ich brauch nur den absoluten Pfad als
> String.
Ja, die Daten werden mittels des --install-data targets in das
evtl. uebergebene Verzeichnis installiert (oder in das systemabhaengig
voreingestellte). Mithilfe der "install_data" Command Instanz kann bei
der Installation der Pfad herausbekommen werden. Dazu musst Du sie nur
im setup() ueberschreiben. Ein kurzes Beispiel, welche Moduldateien
unter lib/site-packages/<modul> abaendern kann:
def adjust_paths (libdir, datadir):
"""
Ueberschreibe hier die Pfade in deinen zu installierenden Dateien.
Achtung: Sie sind schon installiert, da install_data zuletzt laeuft,
daher bekommen wir hier den absoluten Installationspfad der Module
unter site-packages.
"""
...
class InstallData (install_data):
"""Angepasste install_data Klasse."""
def run (self):
adjust_paths (self.get_finalized_command ("install_lib").install_dir,
self.install_dir)
install_data.run (self)
...
setup ("name" : "Bla",
...
"data_files" : ...
"cmdclass" : { "install_data" : InstallData },
)
Der Vorteil des obigen Systems (wenn auch nicht unaufwendig) ist, dass
auch --prefix, --home usw. ordentlich behandelt werden sollten.
Gruss
Marcus
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 187 bytes
Beschreibung: nicht verfügbar
URL : http://python.net/pipermail/python-de/attachments/20060626/def75520/attachment.pgp