In vielen auf Python basierenden Docker-Tutorials (z. B. diesem ) wird diese Option PYTHONDONTWRITEBYTECODE
verwendet, um zu vermeiden, dass Python beim Importieren von Quellmodulen .pyc-Dateien schreibt (dies entspricht der Angabe der Option -B).
Welche Risiken und Vorteile bietet die Einrichtung dieser Option?
python
python-3.x
docker
schwimmendes Schnurren
quelle
quelle
Antworten:
Wenn Sie einen einzelnen Python-Prozess im Container ausführen, der während seiner Lebensdauer keine anderen Python-Prozesse selbst erzeugt, besteht dabei kein "Risiko".
Das Speichern von Bytecode auf der Festplatte wird verwendet, um Python unmittelbar beim ersten Aufruf eines Programms und seiner abhängigen Bibliotheken in Bytecode zu kompilieren, um diesen Schritt bei den folgenden Aufrufen zu speichern. In einem Container wird der Prozess nur einmal ausgeführt. Daher ist es sinnvoll, diese Option festzulegen.
quelle