Docker'da PYTHONDONTWRITEBYTECODE kullanmanın herhangi bir dezavantajı var mı?


9

Python'a dayanan birçok Docker öğreticisinde (örneğin: bu ) PYTHONDONTWRITEBYTECODE, Python'u kaynak modüllerin içe aktarılmasında .pyc dosyaları yazmaktan kaçınmak için seçeneği kullanırlar (Bu, -B seçeneğini belirtmeye eşdeğerdir).

Bu seçeneği oluşturmanın riskleri ve avantajları nelerdir?


boyutunu küçültmek için nasıl
LinPy

3
Performans açısından herhangi bir dezavantaj var mı?
floatingpurr

Yanıtlar:


3

Kapsayıcı içinde tek bir python işlemi çalıştırdığınızda, diğer python işlemlerinin ömrü boyunca kendisini üretmezse, bunu yapmanın "riski" yoktur.

Bayt kodunu diskte saklamak, bir programı ve bağımlı kitaplıklarını ilk çağrıştırmadan hemen sonra python'u bayt koduna derlemek için kullanılır. Bir kapta işlem yalnızca bir kez çalışır, bu nedenle bu seçeneği ayarlamak mantıklıdır.


Yani eve götür mesajı, bir Docker projesinde bu seçeneğin% 99 oranında yararlı ve güvenli olmasıdır. Sağ?
floatingpurr

1
Dediğim gibi, konteynerin ömrü boyunca konteynırlı işlemin kendisinden başka python süreçleri üretmiyorsanız sorun değil.
hek2mgl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.