Was ist __pycache__?

__pycache__ ist ein Verzeichnis, das der Python-Interpreter erstellt, wenn er ein Modul importiert. Es enthält den kompilierten Bytecode des Moduls, der verwendet werden kann, um die späteren Imports desselben Moduls zu beschleunigen. Der Bytecode ist spezifisch für die verwendete Python-Version, daher erstellen unterschiedliche Versionen von Python unterschiedliche Bytecode-Dateien.

Hier ist ein Code-Schnipsel, der zeigt, wie __pycache__ erstellt wird:

import my_module
# Beim ersten Ausführen wird der Interpreter my_module importieren und ein __pycache__-Verzeichnis
# im selben Verzeichnis wie my_module.py erstellen.

import my_module
# Beim zweiten Ausführen wird der Interpreter nach einer kompilierten Version von my_module im
# __pycache__-Verzeichnis suchen und diese anstelle der Neukompilierung des Quellcodes verwenden.

Es ist zu beachten, dass dies nur passiert, wenn Python in einer Version größer als 3.2 im Entwicklungsmodus läuft. Mit anderen Worten, wenn der Python-Prozess mit der -OO-Option aufgerufen wird, wird pycache nicht erstellt.