W wielu samouczkach Docker opartych na Pythonie (takich jak: ten ) używają tej opcji PYTHONDONTWRITEBYTECODE
, aby Python unikał zapisywania plików .pyc podczas importu modułów źródłowych (Jest to równoważne z określeniem opcji -B).
Jakie są ryzyko i zalety konfiguracji tej opcji?
python
python-3.x
docker
floatingpurr
źródło
źródło
Odpowiedzi:
Kiedy uruchomisz pojedynczy proces Pythona w kontenerze, który nie spawnuje innych procesów Pythona w trakcie jego życia, nie ma w tym „ryzyka”.
Przechowywanie kodu bajtowego na dysku służy do kompilacji Pythona w kod bajtowy tuż po pierwszym wywołaniu programu i jego bibliotek zależnych w celu zapisania tego kroku przy kolejnych wywołaniach. W kontenerze proces działa tylko raz, dlatego ustawienie tej opcji ma sens.
źródło