[Python-de] Python-Programme installieren
Alexander 'boesi' Bösecke
boesi.josi at gmx.net
Don Aug 31 10:09:13 CEST 2006
moin
Bisher hab ich meine Programme für die Installation beim Kunden immer
mit py2exe gepackt und war damit soweit auch zufrieden. Derzeit hab ich
nur wieder mal das Problem, dass das compilieren zwar funktioniert aber
die exe nen Fehler verursacht. Und bevor ich da den Fehler such, dachte
ich mir ob man das ganze nicht besser lösen könnte.
Meine Idee ist, eine Python-Umgebung automatisiert einzurichten und dann
das eigentliche Programm zu installieren. Natürlich möchte ich die
ganzen Python-Pakete nicht neuzusammenpacken, sondern die mit Ihren
jeweiligen Setups sich installieren lassen. (Ich weiss dämlicher Satzbau,
aber hoffentlich wird gleich klar, was ich will.)
Ich stell mir das in etwa so vor:
1. gewünschte Python-Major-Version vorhanden?
- Ja: gegebenenfalls auf Python-Minor-Version aktualisieren.
- Nein: Installationsverzeichnis abfragen und installieren
2. überprüfen, ob von den einzelnen Paketen jeweils die aktuelle Version
vorhanden ist und gegebenenfalls installieren / aktualisieren
- das sollte möglichst automatisch ablaufen, also nicht das der
Nutzer jedes Paket einzeln abnicken muss
3. Programm in eigenes Verzeichniss installieren (also nicht nach
site-packages, meine Programme sind keine Pakete im eigentlichen
Sinne)
- als Option nur compilierte Python-Scripte (pyc, pyo, pyd) ins Setup
packen
Das hat dann auch gleich den Vorteil, dass auf den Rechnern eine
eigenständige Python-Umgebung installiert ist und das sollte doch
überall so sein *g*
Ich hab mir InnoSetup installiert und wollte eigentlich loslegen. Aber
dann kamen Fragen, ob InnoSetup dafür überhaupt geeignet ist.
Insbesondere das überprüfen der Versionen der Pakete macht mir Sorgen.
Weil dafür müssen ja jeweils kurze Skripte in der zuvor installierten
Python-Umgebung ausgeführt werden.
So meine Frage: Kann man mit InnoSetup eine vollwertige Python-Umgebung
inklusive Paketen installieren, ohne für jedes Paket das Setup
neuschreiben zu müssen? Oder wie löst ihr das?
Meine Zielplatform ist im Moment Windows. Es wär aber trotzdem schön,
wenn man mit der Methode auch Setups für andere Systeme erstellen könnte.
Vielen Dank schonmal für eure Hilfe
cu boesi
PS: Nein ich hab mich mit InnoSetup noch nicht weiter beschäftigt, aber
ich frag erstmal, ob meine Anforderung erfüllt werden.
PPS: Und nein PyInstaller ist auch keine Lösung, weil ich will ja gerade
weg von den exe-Krams...
PPPS: Ein Problem ist mir noch eingefallen - was soll mit
Python-Installationen passieren, die unabhängig von meinen Programmen
installiert wurden und wo vielleicht mit Absicht ältere Paket-Versionen
installiert sind. Also muss es einen Weg geben, "meine"
Python-Installation zu erkennen.
--
A Achkatz'l ofm Baam
des hot a schins Laam
braucht keen Pfenng Gald
un freit sich of dr Walt
More information about the python-de
mailing list