2009-09-16 12 views
43

Wie kann ich eine Python-Datei (* .py-Erweiterung) kompilieren und ausführen?Kompilieren von Python

+17

warum die downvotes? Scheint wie eine vollkommen gültige Frage für eine Person, die mit Python nicht vertraut ist zu fragen. – Glen

+7

vor allem aus C, C++, Java usw. – geowa4

+4

-1: Bitte überprüfen Sie das Python-Tutorial, bevor Sie hier fragen. http://docs.python.org/tutorial/ –

Antwort

27

python yourfile.py

Sie haben Python zuerst installiert haben. Die Datei wird automatisch in eine .pyc-Binärdatei kompiliert und anschließend für Sie ausgeführt. Es wird automatisch jedes Mal neu kompiliert, wenn sich Ihre Datei ändert.

http://www.python.org/download/

+1

Sind keine .pyc-Dateien Bytecodedateien – Will03uk

+1

Ja. Sie sind Byte-Code und binär, obwohl sie nicht "Binärdateien" in dem traditionellen "das System kann sie einfach ausführen" Sinn. –

15

Python kompiliert seine Dateien zu Bytecode vor deren Ausführung. Das bedeutet, dass Sie einen Python-Interpreter auf dem Zielrechner installiert haben müssen. Wenn Sie Python nicht auf dem Zielrechner installieren möchten, verwenden Sie py2exe, py2app oder etwas Ähnliches.

+0

@gs: Sie sollten ihn auf die Python-Website http://docs.python.org/tutorial verwiesen haben, anstatt über py2exe und py2app zu reden. –

+5

@Helen Neely, manchmal ist es schön, schnell eine spezifische Antwort zu erhalten, anstatt durchforsten zu müssen ein mühsames Tutorial. Derzeit hat ein Netz von 3 Personen diese Frage nützlich gefunden; Das sollte dir etwas sagen. –

5

-Paul McMillan's answer hinzuzufügen, wenn Sie auf Windows und Sie haben Python installiert ist, dann alle Dateien mit der Endung „Py“ enden mit den python ausführbaren verbunden werden soll, so dass Sie es wie so laufen:

> myfile.py 

In * nix, können Sie die Datei mit #!/usr/bin/python beginnen und es wie so laufen:

$ ./myfile.py 

In * nix-Systemen, wenn die beiden ersten Zeichen einer Datei sind #! dann wird es die fil ausführen e mit der angegebenen ausführbaren Datei, die ich hier auf /usr/bin/python gesetzt habe.

+1

In Windows möchte ich auch .py zur Umgebungsvariable PATHEXT hinzufügen, wodurch .py-Dateien wie .exe ausführbar sind (d. H. Ohne die Erweiterung einzugeben). Sie brauchen Python immer noch installiert. –

+0

Ah! Sie müssen "chmod u + x * .pyc" ausführen, um dem Benutzer ausführbare Berechtigungen zu erteilen ** und ** es muss eine .pyc-Datei sein. Dann können Sie tun. "/ Program.pyc" – dylnmc

+0

Ich habe gelernt, dass Sie dies für beide py und pyc Erweiterungen tun können. Der Interpreter (in fast allen Fällen) verlässt sich dabei auf den Python-Interpreter. – dylnmc

1

Auf den meisten Unix-ähnlichen Systemen können Sie mit dem Shebang dem Betriebssystem mitteilen, welcher Interpreter aufgerufen werden soll. Sie setzen einfach

#!/path/to/python 

in der ersten Zeile der Datei, wo natürlich müssen Sie ersetzen „/ path/to /“ mit dem Pfad, den Sie auf Ihrem System haben. In den meisten Fällen wäre dies "/ usr/bin/python" oder "/ usr/local/bin/python". Auf Unix-Systemen können Sie für den Weg suchen auch mit

"#!usr/bin/env python" 

oder dem Befehl aufrufen

which python 

den Weg zu finden. Anschließend können Sie Ihr Programm mit dem

./yourprogram.py 

Befehl ausführen Wenn es Ihnen sagt, dass Sie keine Berechtigung haben, dies zu tun, müssen Sie

chmod a+x yourprogram.py 
3

den Befehl Wenn Sie ein transformieren möchten Python-Quelldatei in eine doppelt anklickbare .exe auf Windows können Sie py2exe verwenden, die Ihnen helfen können, ein einfach zu verteilendes Paket zu erstellen.

+0

Dies funktioniert nur mit Python 2. – starbeamrainbowlabs

8

Python ist eine interpretierte Sprache, so dass Sie es nicht kompilieren müssen; nur um es zu starten. In der Standardversion von Python wird dies wie Java usw. in "Bytecode" kompiliert, und das wird (in .pyc-Dateien) gespeichert und beim nächsten Mal ausgeführt, was Zeit spart, wenn Sie nicht aktualisiert haben die Datei seit. Wenn Sie die Datei aktualisiert haben, wird sie automatisch neu kompiliert.

Sie können Python auch mit einem -O-Flag ausführen, das .pyo-Dateien anstelle von .pyc generiert. Ich bin mir nicht sicher, dass es viel Unterschied macht. Wenn Geschwindigkeit wichtig ist, verwenden Sie Psyco.

Und ja, unter Unix (einschließlich Linux, BSD und Mac OS X, oder in einer Unix-Shell unter Windows) können Sie eine Shebang-Zeile am Anfang der Datei verwenden, um die Datei automatisch mit Python auszuführen. In Windows entspricht das Äquivalent dem Verbinden von .py-Dateien mit python.exe. Stellen Sie dann sicher, dass Ihre Umgebungsvariable PATHEXT die Erweiterungen ".PY" enthält. Für Windows möchten Sie jedoch wahrscheinlich ein GUI-Programm in Python schreiben (möglicherweise unter Verwendung von PyQT4 und ERIC4), das eine .pyw-Datei als Hauptskript hat und .pyw mit pythonw verbunden ist (das mit python geliefert wird) auf Windows). Dadurch können Sie Python-Skripte unter Windows wie andere GUI-Programme ausführen. Zum Veröffentlichen und Verteilen möchten Sie wahrscheinlich mit einer Datei wie py2exe in eine ausführbare Datei kompilieren, wie andere bereits erwähnt haben.

+1

Die Sprache ist nicht interpretated, die Implementierung ist – Will03uk

10

Wenn Sie nur Quellen kompilieren wollen, ohne sie ausgeführt wird, können Sie dies tun

compileall.py <directory> 

dieser Befehl Python-Code in das Verzeichnis rekursiv in der Regel im Verzeichnis befindet

compileall Skript kompilieren wie

/usr/local/lib/python2.6 

dh <prefix>/lib/python2.6 (oder ähnlich, abhängig von Präfixen Legen Sie eine Python-Konfiguration fest)

Wie Lulu vorschlägt, sollten Sie sicherstellen, dass die resultierenden .pyc- und .pyo-Dateien von den Benutzern ausgeführt werden können, die Ihnen wichtig sind.

compileall kann auch als

Modul verwendet werden
import compileall 
compileall.compile_dir(path) 
0

Antwort für Windows

  1. zuerst müssen Sie Python
  2. dann gesetzt Pfadvariablen
  3. installieren danach Ihre Python schreiben programmieren und speichern
  4. denken, es gibt ein Python-Programm, das „hello.py
  5. offen cmd.exe
  6. dann liest die Pfadnamen, die Sie Ihre „hello.py“ Datei,
  7. gespeichert und geben Sie dann python hallo.py und drücken Sie Geben Sie Schlüssel ein.

Jetzt wird der Python-Code automatisch kompiliert und das Ergebnis angezeigt.

+3

Schritt 0. Computer einschalten und in Windows anmelden. –