Distutils -> Windows-Installer: DLLs dazupacken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Hallo,

ich versuche gerade ein Windows-Setup für Soya für Python 2.5 zu erstellen. Das klappt auch soweit, ich bekomme eine funktionierende Setup-Exe, aber damit alles funktioniert muss ich nach der Installation noch einige DLL-Dateien in das Python-Verzeichnis kopieren, weil sonst Meldungen kommen, dass die betreffenden DLLs nicht gefunden wurden.
Wie kann ich diese DLLs mit in den Installer packen, dass die DLLs automatisch kopiert werden?

Danke schonmal,

fred
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Wie hast du den Windows Installer erstellt?
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

mit python setup.py bdist_wininst ;)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann schau dir mal Distributing Python Modules: 2.7 Installing Additional Files an, dort steht wie man zusätzliche Dateien einbindet. Du solltest es aber so machen, dass der Parameter nur dann gesetzt wird, wenn es unter Windows läuft, unter Linux will man eigentlich keine DLL-Dateien installieren müssen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Dankeschön :)

Edit: Ich komme damit aber nicht wirklich klar. Wie kann ich distutils anweisen, die DLLs in das Python-Root-Verzeichnis zu kopieren?
Wenn ich einen Leerstring als directory angebe, werden die DLLs in Lib\site-packages kopiert. Wenn ich '../..' als directory angebe, werden sie gar nicht kopiert. Jemand eine Idee?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Die DLLs können nicht im entsprechenden ``site-packages``-Ordner liegen, oder?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Die DLLs müssen in ein Verzeichnis das im PATH steht gelegt werden, sonst findet Windows sie nicht und es gibt Fehlermeldungen. Aber auch nicht weiter schlimm, dann mache ich eben einen NSIS-Installer der die DLLs kopiert und den Soya-Installer startet ;)
Trotzdem Danke,

fred
Antworten