Hi Masaru!Masaru hat geschrieben:Klar gibt es in unser Branche etwas wie:System Requirements ... aber irgendwo hört dann beim hart gesottensten Benutzer auch die Lust nach Validierungsdialogen auf .
Meine Aussage über das obligatorische Setup, widerspricht in keiner Weise dem OpenSource-Gedanken. Es gibt Leute, die möchten sich das Programm lieber nicht vorgefertigt als cx_Freeze-Paket installieren, sondern den Quellcode einsehen können, um z.B. herauszufinden, wie das Programm arbeitet und/oder einfach nur mal kurz eine kleine Änderung vorzunehmen.
Ein Setup ist für den Standard-Anwender. Wie wäre es, wenn man mehrere Möglichkeiten Anbietet? Quellcode in einem TAR-Archiv, Python-Installation (python setup.py install) und eine Setup-Version für Windows. Wenn man sich damit auskennt, dann könnte man auch noch ein RPM- und ein DEB-Installationspaket machen.
Das ist alles eine Frage, wie intensiv ich ein Programm verbreiten möchte. Die ganze Arbeit kann ich mir sparen, wenn ich mich selbst um die Installation beim Kunden kümmern kann oder wenn ich mit erfahrenen Computer-Anwendern rechnen kann. Je mehr Leute ich erreichen möchte, desto komfortabler muss die Installation werden. Das war schon immer so.
Was die Validierungsdialoge beim Installieren betrifft: Man kann Python mehrfach auf einem Computer installieren. Man muss z.B. unter Windows einfach nur einen Parameter beim Aufruf der MSI-Datei angeben, damit die neue Python-Version NICHT zur Standardversion wird. Damit laufen alte Python-Programme wie gewohnt weiter. Beim Installieren könnte man dann z.B. eine Umgebungsvariable (%PYTHONPATH24%) setzen, die den Pfad zur gewünschten Python-Release enthält.
Allerdings würde das die Entwicklung und die Installation stark verkomplizieren.
Alles hat seine Vor- und Nachteile. Ich glaube, es kommt immer darauf an, für wen man programmiert. Den meisten Abhängigkeits-Problemen kann man aus dem Weg gehen, indem man cx_Freeze verwendet und alles, was das Programm benötigt in den Programmordner mit rein packt. Den Quellcode kann man als extra Paket mitliefern.
lg
Gerold