Der Schutz des geistigen Eigentums von Programmen stellt sich in jeder Programmiersprache, so auch in Python. Scripte die Sie in hohem Zeitaufwand erzeugt und erdacht haben können Sie dadurch schützen, indem Sie diese in Bytcode umwandeln. Python bietet dafür einen internen Bytecode-Compiler, den Sie wie folgt aufrufen können:
python -OO -m py_compile mein-script.py
Der Compiler erzeugt dann eine gleichlautende Datei jedoch mit der Extension *.pyo
, die Sie wie jedes andere Pythonscript behandeln und auch ebenso starten können (z.B.: python mein-script.pyo
). Jedoch ist das Editieren bzw. das Lesen des Quellcodes für Menschen nicht mehr möglich.
Der Parameter -m
fordert Python auf, das Bibliotheks-Modul py_compile
als reguläres Script zu behandeln. Damit können Sie es wie jedes andere Script an der Komandozeile aufrufen.
Der Parameter -OO
startet die Umwandlung in den Bytecode und die Optimierung durch entfernen von Kommentaren innerhalb des Scripts.
Hinweis: Da ich vorzugsweise auf Linux (Intel-PC, Raspberry, YUN, ESP32, ...) arbeite, kann ich nicht sagen wie portabel der erzeugte Bytecode in Wirklichkeit ist. In der Theorie sollte er natürlich ebenso auch auf Windows oder Mac-Rechnern vom Python-Interpreter verstanden werden, jedoch habe ich das nie getestet.