Fagen zu Python mit Windows und Mac OSX

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
cyberangle
User
Beiträge: 19
Registriert: Freitag 30. Oktober 2020, 09:39

Hallo ich bin erst eine Woche dabei und habe eine allgemeine Frage zu Python:

für Windows Nutzer von Pyhon so habe ich gelesen wirdd die py-Datei gelinkt und zu einer exe compiliert die dann per Doppelklick ausgefürt.

Meine Windows Zeiten sind schon 3 Jahre vorbei und ich arbeite jetzt mit Mac OSX. Da muß ich dann die py-Datei mit python3 aufrufen und die wird
dann ausgeführt. Also arbeitet Python da als Interpreter, übersetzt 1 Zeile führt sie aus und übersetzt die nächste Zeile. Heißt das, dass das Programm
unter OSX langsamer läuft als unter Windows die exe-Datei? Kann man unter OSX eine Datei mit der Endung app erstellen, die dann direkt aufrubar ist?
Vielen Dank
cyberagle
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@cyberangle: Normalerweise™ werden Python-Programme immer interpretiert. Egal ob unter Windows oder einem *nix. Gelinkt wird da nichts.
Es gibt unter Windows mit Programmen wie Pyinstaller die Möglichkeit, das Script zusammen mit einem Interpreter in eine ausführbare Datei zu packen. Da wird aber im Hintergrund auch dein Script + Interpreter entpackt und das dann entsprechend ausgeführt. Nur das Deployment ist anders.

Nur um es erwähnt zu haben: Es gibt auch Projekte, die Pyhton Code tatsächlich über einen Umweg kompilieren. Das ist aber die Ausnahme, sehr speziell und nicht die Ambition von Python.
Sirius3
User
Beiträge: 18273
Registriert: Sonntag 21. Oktober 2012, 17:20

@cyberangle: nein, unter Windows läuft Python genauso wie unter jedem anderen System. Es ist nur so, dass Windows-Nutzer gerne alle py-Dateien in eine exe-Datei zusammenpacken.
Unter Linux und Mac-OS ist meist schon vom System ein Python installiert, so dass man das voraussetzen kann und nicht extra die Laufzeitumgebung mitliefern muß.

Python arbeitet nicht als Interpreter. In Python ist nur Compilierung und Ausführung sehr eng gekoppelt, so dass man vom Compilierungsschritt wenig merkt. Aber, wie viele moderne Laufzeitumgebungen wird der Code nicht in Maschinensprache übersetzt, sondern in eine Zwischensprache, die dann Schritt für Schritt ausgeführt wird. Läßt man die Just-in-Time-Maschinenübersetzer mal außer acht, arbeiten auch Java, C# (Dotnet) oder JavaScript alle auf die selbe Weise.
Antworten