2012-03-28 13 views
5

Ich kann nicht herausfinden, wie ich ein kompiliertes .pyc-Modul in meinen Code importiere, damit ich es in meinem Hauptskript verwenden kann. Ist das überhaupt möglich?Ist es möglich, eine kompilierte Python-Datei zu importieren?

+3

Was haben Sie versucht? –

+0

Nur zum ersten Mal. PyDev hat einen Fehler beim Importieren der Pyc-Datei. http://stackoverflow.com/questions/13967342/pydev-and-pyc-files – smwikipedia

Antwort

1

import module

Wenn es eine ist. py Quelldatei, wird der Kern automatisch die .pyc verwenden, wenn es auf dem neuesten Stand ist. Wenn es keine Quelle gibt, importiert Python automatisch .pyc.

“Compiled” Python files.

+2

'import filename.py' wird nicht funktionieren. Sie geben das '.py'-Suffix nicht in einer' import'-Anweisung an. – kindall

+0

und wie kann ich es von einem anderen Ort importieren? – Gahan

+0

'help (" import ")' –

7

Wenn es foo.pyc ist, import foo automatisch verwenden foo.pyc ob foo.py existiert oder nicht

(Wenn foo.py neuer ist, wird es verwendet werden)

http://docs.python.org/tutorial/modules.html

+0

Der Import funktionierte bei mir im Interpreter (IPython) nicht. Ich habe es in einem Skript getestet und es hat funktioniert. Kann es im Dolmetscher gemacht werden? – Jonno

+0

Macht nichts. Fand das Problem, ich war in der falschen Arbeitsrichtung. Danke für die Hilfe. – Jonno

-1

Im Import verwenden Sie den Pyc-Dateinamen, Python wird automatisch geladen.

3

Verwenden Sie den Import ohne die Erweiterung. Python wird dann schauen, ob sich die Datei geändert hat, andernfalls wird die zuvor erstellte pyc-Datei verwendet.

Aber wenn Sie wirklich mehr Leistung wollen, empfehle ich Ihnen, PyPy zu verwenden, das ist viel schneller als die Standard CPython-Implementierung. (Aber beachten Sie, dass es immer noch Python 2 ist)

0

Ja, aber Vorsicht, dass mit Python mit der Option "-O" starten! In meiner persönlichen Erfahrung, wenn alles, was Sie haben, ist. Pyc oder. Pyo-Datei, läuft "python.exe" ohne das Flag und versuchen, zu importieren wird fehlschlagen, jedoch python.exe -O ausführen und dann versuchen, wie normal zu importieren sollte funktionieren .