Python v2.4.1 released...

Probleme bei der Installation?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 9. Juni 2005, 12:28

An sich gibt es ein Python 2.4.1 und zwar das im Tarball Python-2.4.1.tar.gz bzw. Python-2.4.1.tar.bz2 (da ist das gleiche drin). Aus diesem Tarball wird Python für alle Platformen kompiliert, also haben alle Platformen die selbe Quelle und zwar diesen Tarball.

Achja, Java.. ist genauso, dort gibt es auch den Interpreter (oder die Runtime, aber das ist praktisch das gleiche) und die brauchst du um Java Programme auszuführen. Parallel dazu auch .NET, da brauchst du das Framework (MS oder Mono) um die Programme zu starten. Ohne diese Interpreter ist dein Programm auch nur ein Stück Daten, mehr nicht.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Donnerstag 9. Juni 2005, 21:11

Naja, man kann auch Atari-Spiele am PC spielen, mit dem richtigem Emulator.
Gut, das ist jetzt ... naja, wirklich ganz weit hergeholt.
Aber auch wenn es mit Sicherheit keinen Zweifel daran gibt, daß Python (und auch paar andere Sprachen) als Plattformunabhängig gelten, so ist es für mich teils ein Etiketten-Schwindel.
Linux mag ja Python meist mit dabei haben.
Windows aber nicht.
Dann muß ich das Ganze entweder Compileren (vorrausgesetzt man hat Windows), oder eben Python mit dazu geben (für alle Plattformen?), welcher der geneigte User dann auch zusätzlich installieren darf.
Das ist halt das, was mir Kopfzerbrechen bereitet.
Man stelle sich vor, man müßte bei Jedem Program erst vorher das dementsprechende Programmierprogramm installieren?

Es ist zum Verzweifeln.
Und nein, auch wenn es leider so rüberkommt, ich will hier nicht Python schlecht machen.
Ein Vorteil wird es für mich defenitiv dennoch haben, im Gegensatz zu Delphi zb.:
Wenn ich das BS wechseln sollte, kann ich immer noch weiter mit Python arbeiten, was bei D. und vielen anderen Sprachen ja vermutlich nicht gehen würde.

Aber ich will halt auch mein Programm ein wenig unters Volk bringen. Und dazu müßte ich es eben wohl so compilieren, daß es zumindest auf irgendeiner Plattform läuft. Naja, für Windows gibt es da ja was. Linux hat meist eh Python drauf ... . Vermutlich mache ich mir mal wieder zu viel Gedanken.
Leonidas hat geschrieben:An sich gibt es ein Python 2.4.1 und zwar das im Tarball Python-2.4.1.tar.gz bzw. Python-2.4.1.tar.bz2 (da ist das gleiche drin). Aus diesem Tarball wird Python für alle Platformen kompiliert, also haben alle Platformen die selbe Quelle und zwar diesen Tarball.
...
Heißt das, daß ich mit dem Programm also aus dem Python-Script Python-Unabhängige Anwendungen Compileren kann? Also das Endergebnis auch dann läuft, wenn auf dem Zielcomputer gar nichts von Python installiert/drauf ist?
Oder ist jetzt damit nur Python selbst gemeint?
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 9. Juni 2005, 21:58

Erwin hat geschrieben:Vermutlich mache ich mir mal wieder zu viel Gedanken.
Du triffst den Nagel auf den Kopf 8)

Was ich persönlich auch noch nett an Python finde und was Python schon fasteinzigartig macht, man kann nicht nur lokale Programme schreiben, sondern auch Sachen für's Internet :!:
Mit PHP/Pearl könnte man vielleicht auch noch beides machen, aber so richtig taugt das nicht :P

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Donnerstag 9. Juni 2005, 23:36

Erwin hat geschrieben:
jens hat geschrieben:... auf jeder Plattform auf den Python installiert ist!...
Genau das meine ich doch:
Python muß darauf installiert sein.
Und nicht nur irgendeins, sondern anscheinend für jede Platform ein eigenes Python.
Äh, ja wie stellst Du Dir das denn sonst vor? "Plattformen" unterscheiden sich durch zwei Sachen: Hardware und Betriebsystem. Binärprogramme, die für einen Amiga übersetzt wurden, laufen eben nicht auf einem x86 Prozessor und Windows. Der Pythoninterpreter muss deshalb für jede Plattform übersetzt werden. Und zwar aus reinem C Quelltext -- und für so ziemlich jedes ordentliche Betriebssystem gibt es einen C Compiler, der C nach dem ISO bzw. ANSI Standard versteht. Damit finde ich nicht das man von Etikettenschwindel reden kann, wenn man sagt, das Python plattformunabhängig ist.

Für Windows gibt es direkt an der Quelle Leute, die immer aktuelle Binärversionen vom Pythoninterpreter bereitstellen. Bei vielen Linux-Distributionen gehört Python dazu. Einige benutzen es sogar als Skriptsprache für die Systemverwaltung. Ansonsten ist das Übersetzen von Python unter Linux sehr einfach. Und bei Mac OS ist Python soweit ich weiss seit MacOS 10.3 mit dabei.
Allein mit dem Programm, das ich mit Python mache, kann ich nichts anfangen, oder? Also uncompiliert. Sondern bin in solchen Fällen immer auf Python angewiesen.
Ja. Genau wie bei Java, .NET, VisualBasic und allen anderen Sprachen auch die entsprechenden Laufzeitbibliotheken dabei sein müssen.

Du musst bei Deinen Python-Programmen also entweder den Pythoninterpreter mitliefern, dafür gibt es ja entsprechende Programme für Windows zum zusammenschnüren eines Pakets mit Installer. Oder aber einen Link angeben unter dem sich Interessierte den Pythoninterpreter herunterladen können.

Ich würde letzteres bevorzugen weil ich den Gedanken, dass jedes 10KB "grosse" Pythonprogramm x MB Interpreter mitschleppt, ziemlich erschreckend finde.

Ausserdem wäre Dein Programm in der Form dann nicht mehr plattformunabhängig. Ein Mac-Benutzer kann mit einer Installer-EXE nämlich genau so wenig anfangen wie ich unter Linux. Wirklich plattformunabhängig kann man also nur sein, wenn man entweder Quelltext weitergibt und der Empfänger einen entsprechenden Übersetzer auf seiner Plattform hat, oder man hat so etwas wie Bytecode (Jave/.NET/*.pyc) und der Empfänger hat eine "Virtual Machine" dafür.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 10. Juni 2005, 12:50

BlackJack hat geschrieben:Damit finde ich nicht das man von Etikettenschwindel reden kann, wenn man sagt, das Python plattformunabhängig ist.
Genau!

Erwin, wie stellst du dir ein platformunabhängiges Programm vor? Das es auf Windows, Linux, Mac OS läuft, und zwar sowohl auf Intel-Kisten, als auch auf PowerPCs (Macs) und auch auf einem zSeries von IBM (Big Iron) genauso wie auf einem UltraSPARC von Sun und zudem noch auf deinem Handy? Ohne das es irgendeine Software auf dieser Hardware braucht?
BlackJack hat geschrieben:Ich würde letzteres bevorzugen weil ich den Gedanken, dass jedes 10KB "grosse" Pythonprogramm x MB Interpreter mitschleppt, ziemlich erschreckend finde.
Es ist erschreckend, nur haben meist die User keine Lust, um ein Programm laufen zu lassen (ich gehe mal von meiner Situation aus), Python zu installieren, die GTK-Runtime zu installieren und PyGTK zu installieren. (Was mich aber nicht abhält trotzdem Python und GTK zu nutzen).
Zuletzt geändert von Leonidas am Montag 13. Juni 2005, 15:56, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Freitag 10. Juni 2005, 14:36

Leonidas hat geschrieben:
BlackJack hat geschrieben:Damit finde ich nicht das man von Etikettenschwindel reden kann, wenn man sagt, das Python plattformunabhängig ist.
Genau!

Edwin, wie stellst du dir ein platformunabhängiges Programm vor? Das es auf Windows, Linux, Mac OS läuft, und zwar sowohl auf Intel-Kisten, als auch auf PowerPCs (Macs) und auch auf einem zSeries von IBM (Big Iron) genauso wie auf einem UltraSPARC von Sun und zudem noch auf deinem Handy? Ohne das es irgendeine Software auf dieser Hardware braucht?
Wenn Python wirklich Plattformunabhängig ist, wieso gibt es dann für jede Plattform eine extra Version?

Wieso muß der Anwender dann wegen dem Script erst mal einen Emulator, oder nennt es von mir aus Interpreter, installieren?

Es mag die Bezeichnung Plattformunabhängig bekommen haben.
Es reicht eben scheinbar für diese Bezeichnung aus, wenn es ein Programm für alle 'bekannten bzw. großen' Plattformen gibt, auf deren läuft, und auch möglich ist, daß sich dessen Produkte und/oder Spielstände untereinander austauschen können.
Aber würde ich nur das Skript mit der Auflage zu meinen Programm/Sript, den Interpreter mit zu installieren, weiter geben, dann würden bestimmt einige bis viele Windows-User mein Programm meiden, was dann wiederum zur Folge hat, das eben jenes Programm (von Python erstellte) sogar auf der gleichen Plattform scheitert (auch wenn es dann am User liegt, aber nicht nur allein an dem, sondern an dem zusätzlichem Aufwand für den User).
Fazit: Die Bezeichnung/Prädikat Plattformunabhängig ist für meinen Geschmack zu aufgeweicht.
Genaugenommen ist es sogar ein Fantasiewort. Es wird nämlich nie ein Programm geben (ein und das selbe, nicht von einem Programm mehre Versionen), das auf allen Plattformen läuft.
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Freitag 10. Juni 2005, 15:00

jens hat geschrieben:Klar dürfte sein, das man Programme nur für ein System compilieren kann! Somit muß man unterschiedliche Installations-Dateien anbieten.
Oder man fordert den "gemeinen Windowsnutzer" ganz zwanglos dazu auf selber zu kompilieren :twisted: .

Erwin, ich finde Du fängst an Haare zu spalten. Natürlich ist Plattformunabhängigkeit nicht grenzenlos gegeben. Aber Python kommt diesem Ideal schon ziemlich nahe. Das wirst Du merken, wenn Du mal mehr mit Python gemacht hast - und vielleicht auch den Vergleich mit anderen Sprachen hast.

Den Traum compilierten Code von einer Plattform auf eine andere übertragen zu können ist genau das: Ein Traum. Deshalb kann man auch nicht - noch nicht einmal prinzipiell - einen Installer für alle Systeme anbieten. (Es gibt auch noch ein paar andere Systeme außer Windowsvarianten, Unix / Linux und den Mac (der ja inzwischen auch zur Unix-Welt einzuordnen ist).

Gruß,
Christian
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Freitag 10. Juni 2005, 17:52

@ CM
Endlich mal Jemand, der mich scheinbar versteht.
Dann besteht ja noch Hoffnung für mich.

Windows Nutzer zum kompilieren zwingen?
Hoffe mal, Du meinst damit mich, als Progger mit Python, und nicht meinen Anwender?

Wie gut ist das Kompilirungsprogramm eigentlich?
Funktioniert dies einwandfrei?
Sind dann auch alle Daten mit drin, oder muß man immer noch welche nachschicken, die der Windows-Anwender dann per Hand (oder extra Installation) installieren darf?

Und wie sieht es mit Linux aus?
Ohne Linux werde ich wohl kaum das Script dann in Linux-Anwendung kompilieren können?
Aber gibt sowas überhaupt für Linux? # Frage ist mehr Interessehalber


Achja, es geht mir nicht um die Bezeichnung jetzt allgemein. Natürlich muß man Einschränkungen machen.
Aber irgendwo wird einem Hoffnung gemacht, zumindest was mich betrifft, man könne das damit erstellte Program problemlos (= für mich, ohne das der Anwender noch was installieren muß, neben meinem Programm) allen Plattformanwendern anbieten.
Mit dem ständigem Hinweis, das es als Plattformunabhängig gilt, ist mir da nicht geholfen. Im Gegenteil. Das frustriert mich. Weil ich dadurch bald den Eindruck bekomme, ohne Interpreter ect. ginge es nicht.
Wenn dann würde ich gerne eben erfahren, ob es einfache Hilfsmittel gibt, womit man dan aus dem von Python erstelltem Script eine einfache direkte Anwendunge ohne Extra Hilfen ( wie Interpreter ect.) dem Anwender nahe bringen kann.

Achja, habe mich natürlich auch etwas vergaloppiert. Sorry. Denn der Compiler wurde schon erwähnt. Aber irgendwie so lieblos, so als ... wenn Du Glück hast, funktioniert er. Und wenn dies der Fall ist ... bringe ich die mit Python erstellte Programme vermutlich schwer an die Windows-Anwender.
Habe sowas bei einer anderen Sprache schon mal erlebt. Da hat der Compiler die Hälfte ausgelassen. Also sobald es etwas komplexer wurde, daß Programm, mußte man wieder extra was machen oder alternativ was mitschicken.
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 10. Juni 2005, 18:18

Erwin hat geschrieben:Wie gut ist das Kompilirungsprogramm eigentlich?
Funktioniert dies einwandfrei?
Sind dann auch alle Daten mit drin, oder muß man immer noch welche nachschicken, die der Windows-Anwender dann per Hand (oder extra Installation) installieren darf?
Nein, es ist eigentlich kein Compiler sondern eher eine Art Packer, der den Interpreter mitverpackt. ABer es funktioniert schon recht gut.
Erwin hat geschrieben:Und wie sieht es mit Linux aus?
Ohne Linux werde ich wohl kaum das Script dann in Linux-Anwendung kompilieren können?
Aber gibt sowas überhaupt für Linux? # Frage ist mehr Interessehalber
Ja, auch für Linux gibt es sowas, jedoch werden die Linux Nutzer eher abgeneigt zu sein, bei jedem Python-Programm den Interpreter immer dazuzubekommen.

Erwin hat geschrieben:Achja, es geht mir nicht um die Bezeichnung jetzt allgemein. Natürlich muß man Einschränkungen machen.
Aber irgendwo wird einem Hoffnung gemacht, zumindest was mich betrifft, man könne das damit erstellte Program problemlos (= für mich, ohne das der Anwender noch was installieren muß, neben meinem Programm) allen Plattformanwendern anbieten.
Das, das nichts mehr nachinstalliert werden muss ist ja nicht platformunabhängig. Das man nichts nachinstallieren heißt laut dir praktisch, dass das Programm sein eigenes Betriebssystem mitbringt. Dann kann man das Programm starten, ohne dass auf dem Computer irgendetwas installiert sein muss.
Erwin hat geschrieben:Mit dem ständigem Hinweis, das es als Plattformunabhängig gilt, ist mir da nicht geholfen. Im Gegenteil. Das frustriert mich. Weil ich dadurch bald den Eindruck bekomme, ohne Interpreter ect. ginge es nicht.
Das tut es eben auch nicht, denn Windows kann keine Linux Programme starten, auch Linux kann keine Windows Programme starten.
Erwin hat geschrieben:Wenn dann würde ich gerne eben erfahren, ob es einfache Hilfsmittel gibt, womit man dan aus dem von Python erstelltem Script eine einfache direkte Anwendunge ohne Extra Hilfen ( wie Interpreter ect.) dem Anwender nahe bringen kann.
Das ist nicht platformunabhängigkeit, sondern die kompilation/packen zu Programmen die ohne Interpreter laufen (diese sind aber nicht platformunabhängig).

Hier noch mal die Definition von Platformunabhängigkeit.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten