Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Ausführen von Python3-Code

siegmar / 3 Antworten / Baumansicht Nickles

Hallo,

ich möchte eine in Bytecode übersetzte Version eines Python-Programms abspeichern, damit ich bei einem späteren " import " in einem anderen Programm die Datei dann direkt mit dem Byte-Code laden kann.

Das wollte ich mit folgendem Befehl ausführen:

import  Dateiname

Auf der Konsole erscheint jedoch u.a. " invalid syntax ". Die Datei müsste doch bei Python3 in der Datei " __pycache__ " stehen. Tut sie aber nicht, eben, wegen des Syntaxfehlers.

Kann mir jemand den Fehler nennen?

Vielen Dank im Voraus!

siegmar

bei Antwort benachrichtigen
mi~we siegmar „Ausführen von Python3-Code“
Optionen

Python erzeugt doch automatisch solche Bytecode-Dateien:

"When a module is imported for the first time, or when the source is more recent than the current compiled file, a .pyc file containing the compiled code will usually be created in the same directory as the .py file. When you run the program next time, Python uses this file to skip the compilation step."

http://effbot.org/pyfaq/how-do-i-create-a-pyc-file.htm

Was es jetzt mit dem Syntax-Fehler auf sich hat, der die da gemeldet wird, wird dir so niemand sagen können. Dazu sind deine Infos etwas zu bruchstückhaft.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
siegmar mi~we „Python erzeugt doch automatisch solche Bytecode-Dateien: When a ...“
Optionen

Hallo mi~we,

den Link kannte ich noch nicht. Sehr gut!

Was in diesem Link steht, sollte eigentlich nur noch auf Python 2 zutreffen. Deshalb habe ich den " import py_compile " -  Befehl nicht genommen. Ich habe diesen jetzt voran gesetzt und alles läuft, wie ich wollte!

Vielen Dank für deine Hilfe!

bei Antwort benachrichtigen
mi~we siegmar „Hallo mi we, den Link kannte ich noch nicht. Sehr gut! Was in ...“
Optionen

Ja, der Teufel steckt im Detail.Zwinkernd Dann compiliere mal fleißig.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen