Seite 1 von 1

Distutils -> Windows-Installer: DLLs dazupacken

Verfasst: Samstag 12. Mai 2007, 18:07
von fred.reichbier
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

Verfasst: Samstag 12. Mai 2007, 18:40
von Sr4l
Wie hast du den Windows Installer erstellt?

Verfasst: Samstag 12. Mai 2007, 20:03
von fred.reichbier
mit python setup.py bdist_wininst ;)

Verfasst: Samstag 12. Mai 2007, 22:51
von Leonidas
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.

Verfasst: Montag 14. Mai 2007, 10:03
von fred.reichbier
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?

Verfasst: Montag 14. Mai 2007, 18:34
von Leonidas
Die DLLs können nicht im entsprechenden ``site-packages``-Ordner liegen, oder?

Verfasst: Dienstag 15. Mai 2007, 13:05
von fred.reichbier
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